| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 |
- <?php
- namespace Tools\TestCase\View\Helper;
- use Tools\View\Helper\GravatarHelper;
- use Tools\TestSuite\TestCase;
- use Cake\View\View;
- use Cake\Core\Configure;
- /**
- * Gravatar Test Case
- *
- */
- class GravatarHelperTest extends TestCase {
- /**
- * SetUp method
- */
- public function setUp() {
- parent::setUp();
- $this->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->out($image . ' ');
- }
- $this->assertTrue(is_array($is) && (count($is) === $expectedCount));
- }
- /**
- * @return void
- */
- public function testImages() {
- $is = $this->Gravatar->image($this->garageEmail);
- //$this->out($is);
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image(Configure::read('Config.adminEmail'));
- //$this->out($is);
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image($this->testEmail);
- //$this->out($is);
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image($this->testEmail, array('size' => '200'));
- //$this->out($is);
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image($this->testEmail, array('size' => '20'));
- //$this->out($is);
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image($this->testEmail, array('rating' => 'X')); # note the capit. x
- //$this->out($is);
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image($this->testEmail, array('ext' => true));
- //$this->out($is);
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image($this->testEmail, array('default' => 'none'));
- //$this->out($is);
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image($this->garageEmail, array('default' => 'none'));
- //$this->out($is);
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image($this->garageEmail, array('default' => 'http://2.gravatar.com/avatar/8379aabc84ecee06f48d8ca48e09eef4?d=identicon'));
- //$this->out($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 = '<img src="http://www.gravatar.com/avatar/' . md5('example@gravatar.com') . '" alt=""/>';
- $result = $this->Gravatar->image('example@gravatar.com', array('ext' => false));
- $this->assertEquals($expected, $result);
- $expected = '<img src="http://www.gravatar.com/avatar/' . md5('example@gravatar.com') . '" alt="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);
- }
- }
|