gravatar = new Zend_Service_Gravatar('email@example.com'); $adapter = new Zend_Http_Client_Adapter_Test(); $client = new Zend_Http_Client(null, array( 'adapter' => $adapter )); $this->adapter = $adapter; Zend_Service_Gravatar::setHttpClient($client); $this->defaultParams = array( 'r' => 'g', 's' => '80', 'd' => 'http://www.gravatar.com/avatar/', ); } public function testEmail() { $this->assertEquals('email@example.com', $this->gravatar->getEmail()); $this->gravatar->setEmail('another@example.com'); $this->assertEquals('another@example.com', $this->gravatar->getEmail()); } public function testParams() { $this->assertEquals($this->defaultParams, $this->gravatar->getParams()); $params = array( 'r' => 'g', 's' => '75', 'd' => 'http://www.example.com/avatar/', ); $this->gravatar->setParams($params); $this->assertEquals($params, $this->gravatar->getParams()); } public function testParamsInConstructor() { $params = array( 'r' => 'g', 's' => '75', 'd' => 'http://www.example.com/avatar/', ); $gravatar = new Zend_Service_Gravatar('email@example.com', $params); $this->assertEquals($params, $gravatar->getParams()); } public function testGravatarId() { $this->gravatar->setEmail('email@example.com'); $this->assertEquals(md5('email@example.com'), $this->gravatar->getGravatarId()); } public function testUri() { $uri = 'http://www.gravatar.com/avatar/5658ffccee7f0ebfda2b226238b1eb6e.jpg?r=g&s=75&d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2F'; $params = array( 'r' => 'g', 's' => '75', 'd' => 'http://www.gravatar.com/avatar/', ); $this->gravatar->setParams($params); $this->assertEquals($uri, $this->gravatar->getUri()); } public function testIsValid() { $response = "HTTP/1.1 200 OK\r\n" . "Connection: close\r\n" . "Content-type: image/jpeg\r\n" . 'Etag: "1723090581"\r\n' . "Accept-ranges: bytes\r\n" . "Last-modified: Sun, 08 Apr 2007 09:34:46 GMT\r\n" . "Content-length: 1787\r\n" . "Date: Mon, 06 Aug 2007 18:02:49 GMT\r\n" . "Server: lighttpd/1.4.13\r\n" . "\r\n" . "image here"; $this->adapter->setResponse($response); $this->assertTrue($this->gravatar->isValid()); $response = "HTTP/1.1 301 Moved Permanently\r\n" . "Connection: close\r\n" . "Location: http://www.gravatar.com/avatar.php\r\n" . 'Content-length: 0\r\n' . "Date: Mon, 06 Aug 2007 18:08:58 GMT\r\n" . "\r\n"; $this->adapter->setResponse($response); $this->assertFalse($this->gravatar->isValid()); } public function testException() { $response = "HTTP/1.1 404 Not Found\r\n" . "Connection: close\r\n"; $this->adapter->setResponse($response); try { $this->gravatar->isValid(); $this->fail('Exception not thrown'); } catch (Zend_Service_Exception $e) { //success } } }