| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- <?php
- if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) {
- define('CAKEPHP_UNIT_TEST_EXECUTION', 1);
- }
- define('VALID_TEST_EMAIL', 'graham@grahamweldon.com'); # for testing normal behavior
- define('GARBIGE_TEST_EMAIL', 'test@test.de'); # for testing default image behavior
- App::uses('HtmlHelper', 'View/Helper');
- App::uses('GravatarHelper', 'Tools.View/Helper');
- App::uses('MyCakeTestCase', 'Tools.TestSuite');
- App::uses('View', 'View');
- /**
- * Gravatar Test Case
- *
- * 2010-05-27 ms
- */
- class GravatarHelperTest extends MyCakeTestCase {
- /**
- * setUp method
- */
- public function setUp() {
- parent::setUp();
- $this->Gravatar = new GravatarHelper(new View(null));
- $this->Gravatar->Html = new HtmlHelper(new View(null));
- }
- /**
- * tearDown method
- */
- public function tearDown() {
- parent::tearDown();
- unset($this->Gravatar);
- }
- /** OWN ONES **/
- /**
- * @access public
- * @return void
- * 2009-07-30 ms
- */
- public function testDefaultImages() {
- $is = $this->Gravatar->defaultImages();
- $expectedCount = 7;
- foreach ($is as $image) {
- echo $image.' ';
- }
- $this->assertTrue(is_array($is) && (count($is) === $expectedCount));
- }
- /**
- * @access public
- * @return void
- * 2009-07-30 ms
- */
- public function testImages() {
- $is = $this->Gravatar->image(GARBIGE_TEST_EMAIL);
- echo $is;
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image(Configure::read('Config.admin_email'));
- echo $is;
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image(VALID_TEST_EMAIL);
- echo $is;
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image(VALID_TEST_EMAIL, array('size'=>'200'));
- echo $is;
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image(VALID_TEST_EMAIL, array('size'=>'20'));
- echo $is;
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image(VALID_TEST_EMAIL, array('rating'=>'X')); # note the capit. x
- echo $is;
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image(VALID_TEST_EMAIL, array('ext'=>true));
- echo $is;
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image(VALID_TEST_EMAIL, array('default'=>'none'));
- echo $is;
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image(GARBIGE_TEST_EMAIL, array('default'=>'none'));
- echo $is;
- $this->assertTrue(!empty($is));
- $is = $this->Gravatar->image(GARBIGE_TEST_EMAIL, array('default'=>'http://2.gravatar.com/avatar/8379aabc84ecee06f48d8ca48e09eef4?d=identicon'));
- echo $is;
- $this->assertTrue(!empty($is));
- }
- /** BASE TEST CASES **/
- /**
- * testBaseUrlGeneration
- *
- * @return void
- * @access public
- */
- public function testBaseUrlGeneration() {
- $expected = 'http://www.gravatar.com/avatar/' . md5('example@gravatar.com');
- $result = $this->Gravatar->imageUrl('example@gravatar.com', array('ext' => false, 'default' => 'wavatar'));
- list($url, $params) = explode('?', $result);
- $this->assertEquals($expected, $url);
- }
- /**
- * testExtensions
- *
- * @return void
- * @access public
- */
- public function testExtensions() {
- $result = $this->Gravatar->imageUrl('example@gravatar.com', array('ext' => true, 'default' => 'wavatar'));
- $this->assertRegExp('/\.jpg(?:$|\?)/', $result);
- }
- /**
- * testRating
- *
- * @return void
- * @access public
- */
- public function testRating() {
- $result = $this->Gravatar->imageUrl('example@gravatar.com', array('ext' => true, 'default' => 'wavatar'));
- $this->assertRegExp('/\.jpg(?:$|\?)/', $result);
- }
- /**
- * testAlternateDefaultIcon
- *
- * @return void
- * @access public
- */
- public function testAlternateDefaultIcon() {
- $result = $this->Gravatar->imageUrl('example@gravatar.com', array('ext' => false, 'default' => 'wavatar'));
- list($url, $params) = explode('?', $result);
- $this->assertRegExp('/default=wavatar/', $params);
- }
- /**
- * testAlternateDefaultIconCorrection
- *
- * @return void
- * @access public
- */
- public function testAlternateDefaultIconCorrection() {
- $result = $this->Gravatar->imageUrl('example@gravatar.com', array('ext' => false, 'default' => '12345'));
- $this->assertRegExp('/[^\?]+/', $result);
- }
- /**
- * testSize
- *
- * @return void
- * @access public
- */
- public function testSize() {
- $result = $this->Gravatar->imageUrl('example@gravatar.com', array('size' => '120'));
- list($url, $params) = explode('?', $result);
- $this->assertRegExp('/size=120/', $params);
- }
- /**
- * testImageTag
- *
- * @return void
- * @access public
- */
- 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
- * @access public
- */
- public function testDefaulting() {
- $result = $this->Gravatar->imageUrl('example@gravatar.com', array('default' => 'wavatar', 'size' => 'default'));
- list($url, $params) = explode('?', $result);
- $this->assertEquals($params, 'default=wavatar');
- }
- /**
- * testNonSecureUrl
- *
- * @return void
- * @access public
- */
- public function testNonSecureUrl() {
- $_SERVER['HTTPS'] = false;
- $expected = 'http://www.gravatar.com/avatar/' . md5('example@gravatar.com');
- $result = $this->Gravatar->imageUrl('example@gravatar.com', array('ext' => false));
- $this->assertEquals($expected, $result);
- $expected = 'http://www.gravatar.com/avatar/' . md5('example@gravatar.com');
- $result = $this->Gravatar->imageUrl('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->imageUrl('example@gravatar.com', array('ext' => false, 'secure' => false));
- $this->assertEquals($expected, $result);
- }
- /**
- * testSecureUrl
- *
- * @return void
- * @access public
- */
- public function testSecureUrl() {
- $expected = 'https://secure.gravatar.com/avatar/' . md5('example@gravatar.com');
- $result = $this->Gravatar->imageUrl('example@gravatar.com', array('ext' => false, 'secure' => true));
- $this->assertEquals($expected, $result);
- $_SERVER['HTTPS'] = true;
- $this->Gravatar = new GravatarHelper(new View(null));
- $this->Gravatar->Html = new HtmlHelper(new View(null));
- $expected = 'https://secure.gravatar.com/avatar/' . md5('example@gravatar.com');
- $result = $this->Gravatar->imageUrl('example@gravatar.com', array('ext' => false));
- $this->assertEquals($expected, $result);
- $expected = 'https://secure.gravatar.com/avatar/' . md5('example@gravatar.com');
- $result = $this->Gravatar->imageUrl('example@gravatar.com', array('ext' => false, 'secure' => true));
- $this->assertEquals($expected, $result);
- }
- }
|