testEmail = 'graham@grahamweldon.com'; // For testing normal behavior $this->garageEmail = 'test@test.de'; // For testing default image behavior $this->Gravatar = new GravatarHelper(new View(null)); } /** * TearDown method */ public function tearDown() { parent::tearDown(); unset($this->Gravatar); } /** * @return void */ public function testDefaultImages() { $is = $this->Gravatar->defaultImages(); $expectedCount = 7; foreach ($is as $image) { //$this->debug($image . ' '); } $this->assertTrue(is_array($is) && (count($is) === $expectedCount)); } /** * @return void */ public function testImages() { $is = $this->Gravatar->image($this->garageEmail); //$this->debug($is); $this->assertTrue(!empty($is)); $is = $this->Gravatar->image($this->testEmail); //$this->debug($is); $this->assertTrue(!empty($is)); $is = $this->Gravatar->image($this->testEmail, array('size' => '200')); //$this->debug($is); $this->assertTrue(!empty($is)); $is = $this->Gravatar->image($this->testEmail, array('size' => '20')); //$this->debug($is); $this->assertTrue(!empty($is)); $is = $this->Gravatar->image($this->testEmail, array('rating' => 'X')); # note the capit. x //$this->debug($is); $this->assertTrue(!empty($is)); $is = $this->Gravatar->image($this->testEmail, array('ext' => true)); //$this->debug($is); $this->assertTrue(!empty($is)); $is = $this->Gravatar->image($this->testEmail, array('default' => 'none')); //$this->debug($is); $this->assertTrue(!empty($is)); $is = $this->Gravatar->image($this->garageEmail, array('default' => 'none')); //$this->debug($is); $this->assertTrue(!empty($is)); $is = $this->Gravatar->image($this->garageEmail, array('default' => 'http://2.gravatar.com/avatar/8379aabc84ecee06f48d8ca48e09eef4?d=identicon')); //$this->debug($is); $this->assertTrue(!empty($is)); } /** BASE TEST CASES **/ /** * TestBaseUrlGeneration * * @return void */ public function testBaseUrlGeneration() { $expected = 'http://www.gravatar.com/avatar/' . md5('example@gravatar.com'); $result = $this->Gravatar->url('example@gravatar.com', array('ext' => false, 'default' => 'wavatar')); list($url, $params) = explode('?', $result); $this->assertEquals($expected, $url); } /** * TestExtensions * * @return void */ public function testExtensions() { $result = $this->Gravatar->url('example@gravatar.com', array('ext' => true, 'default' => 'wavatar')); $this->assertRegExp('/\.jpg(?:$|\?)/', $result); } /** * TestRating * * @return void */ public function testRating() { $result = $this->Gravatar->url('example@gravatar.com', array('ext' => true, 'default' => 'wavatar')); $this->assertRegExp('/\.jpg(?:$|\?)/', $result); } /** * TestAlternateDefaultIcon * * @return void */ public function testAlternateDefaultIcon() { $result = $this->Gravatar->url('example@gravatar.com', array('ext' => false, 'default' => 'wavatar')); list($url, $params) = explode('?', $result); $this->assertRegExp('/default=wavatar/', $params); } /** * TestAlternateDefaultIconCorrection * * @return void */ public function testAlternateDefaultIconCorrection() { $result = $this->Gravatar->url('example@gravatar.com', array('ext' => false, 'default' => '12345')); $this->assertRegExp('/[^\?]+/', $result); } /** * TestSize * * @return void */ public function testSize() { $result = $this->Gravatar->url('example@gravatar.com', array('size' => '120')); list($url, $params) = explode('?', $result); $this->assertRegExp('/size=120/', $params); } /** * TestImageTag * * @return void */ public function testImageTag() { $expected = ''; $result = $this->Gravatar->image('example@gravatar.com', array('ext' => false)); $this->assertEquals($expected, $result); $expected = 'Gravatar'; $result = $this->Gravatar->image('example@gravatar.com', array('ext' => false, 'alt' => 'Gravatar')); $this->assertEquals($expected, $result); } /** * TestDefaulting * * @return void */ public function testDefaulting() { $result = $this->Gravatar->url('example@gravatar.com', array('default' => 'wavatar', 'size' => 'default')); list($url, $params) = explode('?', $result); $this->assertEquals($params, 'default=wavatar'); } /** * TestNonSecureUrl * * @return void */ public function testNonSecureUrl() { $_SERVER['HTTPS'] = false; $expected = 'http://www.gravatar.com/avatar/' . md5('example@gravatar.com'); $result = $this->Gravatar->url('example@gravatar.com', array('ext' => false)); $this->assertEquals($expected, $result); $expected = 'http://www.gravatar.com/avatar/' . md5('example@gravatar.com'); $result = $this->Gravatar->url('example@gravatar.com', array('ext' => false, 'secure' => false)); $this->assertEquals($expected, $result); $_SERVER['HTTPS'] = true; $expected = 'http://www.gravatar.com/avatar/' . md5('example@gravatar.com'); $result = $this->Gravatar->url('example@gravatar.com', array('ext' => false, 'secure' => false)); $this->assertEquals($expected, $result); } /** * TestSecureUrl * * @return void */ public function testSecureUrl() { $expected = 'https://secure.gravatar.com/avatar/' . md5('example@gravatar.com'); $result = $this->Gravatar->url('example@gravatar.com', array('ext' => false, 'secure' => true)); $this->assertEquals($expected, $result); $_SERVER['HTTPS'] = true; $this->Gravatar = new GravatarHelper(new View(null)); $expected = 'https://secure.gravatar.com/avatar/' . md5('example@gravatar.com'); $result = $this->Gravatar->url('example@gravatar.com', array('ext' => false)); $this->assertEquals($expected, $result); $expected = 'https://secure.gravatar.com/avatar/' . md5('example@gravatar.com'); $result = $this->Gravatar->url('example@gravatar.com', array('ext' => false, 'secure' => true)); $this->assertEquals($expected, $result); } }