MyHelperTest.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. App::uses('MyHelper', 'Tools.View/Helper');
  3. App::uses('View', 'View');
  4. App::uses('MyCakeTestCase', 'Tools.TestSuite');
  5. class MyHelperTest extends MyCakeTestCase {
  6. public $MyHelper;
  7. public function setUp() {
  8. parent::setUp();
  9. $this->MyHelper = new MyHelper(new View(null));
  10. $this->Html = new MyHtmlHelper(new View(null));
  11. }
  12. /**
  13. * MyHelperTest::testObject()
  14. *
  15. * @return void
  16. */
  17. public function testObject() {
  18. $this->assertTrue(is_object($this->MyHelper));
  19. $this->assertInstanceOf('MyHelper', $this->MyHelper);
  20. }
  21. /**
  22. * MyHelperTest::testLoadHelpers()
  23. *
  24. * @return void
  25. */
  26. public function testLoadHelpers() {
  27. $this->skipIf(class_exists('QrCodeHelper'), 'Already loaded');
  28. $this->assertTrue(!class_exists('QrCodeHelper'));
  29. $this->MyHelper->loadHelpers(array('Tools.QrCode'));
  30. $this->assertTrue(class_exists('QrCodeHelper'));
  31. }
  32. /**
  33. * MyHelperTest::testBeforeRender()
  34. *
  35. * @return void
  36. */
  37. public function testBeforeRender() {
  38. $this->MyHelper->beforeRender('');
  39. }
  40. /**
  41. * MyHelperTest::testAfterLayout()
  42. *
  43. * @return void
  44. */
  45. public function testAfterLayout() {
  46. $this->MyHelper->afterLayout('');
  47. }
  48. /**
  49. * MyHelperTest::testUrl()
  50. *
  51. * @return void
  52. */
  53. public function testUrl() {
  54. $result = $this->MyHelper->url();
  55. $this->assertEquals('/', $result);
  56. $result = $this->MyHelper->url(null, true);
  57. $this->assertEquals(Configure::read('App.fullBaseUrl') . '/', $result);
  58. }
  59. /**
  60. * MyHelperTest::testAssetUrl()
  61. *
  62. * @return void
  63. */
  64. public function testAssetUrl() {
  65. $result = $this->MyHelper->assetUrl('/some/string');
  66. $this->assertEquals('/some/string', $result);
  67. Configure::write('App.assetBaseUrl', 'http://cdn.domain.com');
  68. $result = $this->MyHelper->assetUrl('/some/string');
  69. $this->assertEquals(Configure::read('App.assetBaseUrl') . '/some/string', $result);
  70. $result = $this->MyHelper->assetUrl('/some/string', array('ext' => 'json'));
  71. $this->assertEquals(Configure::read('App.assetBaseUrl') . '/some/string.json', $result);
  72. $result = $this->MyHelper->assetUrl('some/string', array('pathPrefix' => 'foo/'));
  73. $this->assertEquals(Configure::read('App.assetBaseUrl') . '/foo/some/string', $result);
  74. }
  75. }
  76. class MyHtmlHelper extends MyHelper {
  77. protected $_tags = array(
  78. 'image' => '<img src="%s" %s/>',
  79. );
  80. }