Exemplo n.º 1
0
 /**
  * @covers Robo47_View_Helper_Gravatar::Gravatar
  * @dataProvider gravatarProvider
  */
 public function testGravatar($email, $size, $rating, $default, $ssl, $separator, $params)
 {
     $view = new Zend_View();
     $view->setEncoding('utf-8');
     $view->Doctype(Zend_View_Helper_Doctype::XHTML1_STRICT);
     $service = new Robo47_Service_Gravatar();
     $helper = new Robo47_View_Helper_Gravatar($service);
     $helper->setView($view);
     $gravatarImageTag = $helper->Gravatar($email, $size, $rating, $default, $ssl, $separator, $params);
     $src = $service->getUri($email, $size, $rating, $default, $ssl, $separator);
     $alt = 'Gravatar ' . $service->getGravatarHash($email);
     libxml_use_internal_errors(true);
     $dom = new DOMDocument();
     $dom->loadHTML('<html><head><title></title></head><body>' . $gravatarImageTag . '</body></html>');
     libxml_use_internal_errors(false);
     $nodes = $dom->getElementsByTagName('img');
     $this->assertEquals(1, $nodes->length);
     $image = $nodes->item(0);
     $this->assertTrue($image->hasAttribute('src'), 'Image has no attribute "href"');
     $this->assertTrue($image->hasAttribute('alt'), 'Image has no alt');
     foreach ($params as $param => $value) {
         $this->assertTrue($image->hasAttribute($param), 'Image has no attribute "' . $param . '"');
         $this->assertEquals($value, $image->getAttribute($param), 'Image attribute "' . $param . '" has wrong value');
     }
     $srcAttribute = $image->getAttribute('src');
     $this->assertEquals($src, $srcAttribute, 'Image attribute "src" has wrong value');
     if (isset($params['alt'])) {
         $altAttribute = $image->getAttribute('alt');
         $this->assertEquals($params['alt'], $altAttribute, 'Image attribute "alt" has wrong value');
     } else {
         $altAttribute = $image->getAttribute('alt');
         $this->assertEquals($alt, $altAttribute, 'Image attribute "alt" has wrong value');
     }
 }
Exemplo n.º 2
0
 /**
  * Returns Gravatar-Image-tag
  *
  * @param string $email
  * @param array $params
  * @return string
  */
 public function Gravatar($email, $size = null, $rating = null, $default = null, $ssl = null, $separator = '&amp;', array $params = array())
 {
     $params['src'] = $this->_service->getUri($email, $size, $rating, $default, $ssl, $separator);
     if (!isset($params['alt'])) {
         $params['alt'] = 'Gravatar ' . $this->_service->getGravatarHash($email);
     }
     $image = '<img ';
     $image .= $this->_htmlAttribs($params);
     $image .= $this->getClosingBracket();
     return $image;
 }
Exemplo n.º 3
0
 /**
  * Setup Gravatar
  *
  * @param array $options
  * @return Robo47_Service_Gravatar
  */
 protected function _setupService($options)
 {
     $gravatar = new Robo47_Service_Gravatar();
     if (isset($options['rating'])) {
         $gravatar->setRating($options['rating']);
     }
     if (isset($options['size'])) {
         $gravatar->setSize($options['size']);
     }
     if (isset($options['default'])) {
         $gravatar->setDefault($options['default']);
     }
     if (isset($options['cachePrefix'])) {
         $gravatar->setCachePrefix($options['cachePrefix']);
     }
     if (isset($options['useSSL'])) {
         $gravatar->useSSL($options['useSSL']);
     }
     if (isset($options['cache'])) {
         $gravatar->setCache($options['cache']);
     }
     if (isset($options['registryKey'])) {
         Zend_Registry::set($options['registryKey'], $gravatar);
     }
     return $gravatar;
 }
Exemplo n.º 4
0
 /**
  * @dataProvider gravatarHashProvider
  * @covers Robo47_Service_Gravatar::getGravatarHash
  */
 public function testGetGravatarHash($email)
 {
     $service = new Robo47_Service_Gravatar();
     $this->assertEquals(md5(trim(strtolower($email))), $service->getGravatarHash($email));
 }