Exemplo n.º 1
0
 /**
  * @covers Favicon::info
  * @uses Favicon
  */
 public function testInfoRedirect()
 {
     $dataAccess = $this->getMock('Favicon\\DataAccess');
     $fav = new Favicon();
     $fav->setDataAccess($dataAccess);
     // Data
     $urlRedirect = 'http://redirected.domain.tld';
     $url = 'http://domain.tld';
     $headerRedirect = array(0 => 'HTTP/1.0 302 Found', 'Location' => $urlRedirect);
     $headerOk = array(0 => 'HTTP/1.1 200 OK');
     // Simple redirect
     $dataAccess->expects($this->at(0))->method('retrieveHeader')->will($this->returnValue($headerRedirect));
     $dataAccess->expects($this->at(1))->method('retrieveHeader')->will($this->returnValue($headerOk));
     $res = $fav->info($url);
     $this->assertEquals($urlRedirect, $res['url']);
     $this->assertEquals('200', $res['status']);
     // Redirect loop
     $dataAccess->expects($this->exactly(5))->method('retrieveHeader')->will($this->returnValue($headerRedirect));
     $res = $fav->info($url);
     $this->assertEquals($urlRedirect, $res['url']);
     $this->assertEquals('302', $res['status']);
 }