public function testDownload() { $max_tries = 3; $client = new FakeClient(); $client->tries = $max_tries; $downloader = new PageDownloader(); $downloader->setClient($client); $downloader->setWaitTime(0); try { $downloader->download('test', $max_tries); $this->fails(); } catch (DownloadException $e) { $this->assertEquals($max_tries . ' attempts failed to download this page', $e->getMessage()); } $response_2 = $downloader->download('test', $max_tries + 1); $this->assertEquals('foo', $response_2); }