public function testCanHandleStaleIfErrorWhenRevalidating()
 {
     $server = new Server(8000);
     $server->start();
     $server->flush();
     $lm = gmdate('c', time() - 60);
     $server->enqueue(array("HTTP/1.1 200 OK\r\n" . "Date: {$lm}\r\n" . "Cache-Control: must-revalidate, max-age=0, stale-if-error=1200\r\n" . "Last-Modified: {$lm}\r\n" . "Content-Length: 2\r\n\r\nhi"));
     $cache = new CachePlugin();
     $client = new Client($server->getUrl());
     $client->addSubscriber($cache);
     $this->assertEquals(200, $client->get()->send()->getStatusCode());
     $this->assertEquals(1, count($server->getReceivedRequests()));
     // wait for the server to actually stop
     $server->stop();
     while ($server->isRunning()) {
         sleep(1);
     }
     $this->assertEquals(200, $client->get()->send()->getStatusCode());
 }