DatetimeHelperTest.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. App::uses('DatetimeHelper', 'Tools.View/Helper');
  3. App::uses('MyCakeTestCase', 'Tools.TestSuite');
  4. App::uses('HtmlHelper', 'View/Helper');
  5. App::uses('View', 'View');
  6. /**
  7. * Datetime Test Case
  8. *
  9. */
  10. class DatetimeHelperTest extends MyCakeTestCase {
  11. public function setUp() {
  12. parent::setUp();
  13. $this->Datetime = new DatetimeHelper(new View(null));
  14. $this->Datetime->Html = new HtmlHelper(new View(null));
  15. }
  16. /**
  17. * Test user age
  18. *
  19. * @return void
  20. */
  21. public function testUserAge() {
  22. $res = $this->Datetime->userAge((date('Y') - 4) . '-01-01');
  23. $this->assertTrue($res >= 3 && $res <= 5);
  24. $res = $this->Datetime->userAge('2023-01-01');
  25. $this->assertSame('---', $res);
  26. $res = $this->Datetime->userAge('1903-01-01');
  27. $this->assertSame('---', $res);
  28. $res = $this->Datetime->userAge('1901-01-01');
  29. $this->assertSame('---', $res);
  30. }
  31. /**
  32. * Tests that calling a CakeTime method works.
  33. *
  34. * @return void
  35. */
  36. public function testTimeAgoInWords() {
  37. $res = $this->Datetime->timeAgoInWords(date(FORMAT_DB_DATETIME, time() - 4 * DAY - 5 * HOUR));
  38. $this->debug($res);
  39. }
  40. /**
  41. * DatetimeHelperTest::testLocalDateMarkup()
  42. *
  43. * @return void
  44. */
  45. public function testLocalDateMarkup() {
  46. $result = $this->Datetime->localDateMarkup('2014-11-12 22:11:18');
  47. $expected = '<span>12.11.2014, 22:11</span>';
  48. $this->assertEquals($expected, $result);
  49. }
  50. /**
  51. * DatetimeHelperTest::testNiceDateMarkup()
  52. *
  53. * @return void
  54. */
  55. public function testNiceDateMarkup() {
  56. $result = $this->Datetime->niceDateMarkup('2014-11-12 22:11:18');
  57. $expected = '<span>12.11.2014, 22:11</span>';
  58. $this->assertEquals($expected, $result);
  59. }
  60. /**
  61. * DatetimeHelperTest::testPublished()
  62. *
  63. * @return void
  64. */
  65. public function testPublished() {
  66. $result = $this->Datetime->published(date(FORMAT_DB_DATETIME, time() + DAY));
  67. $expected = 'class="published notyet';
  68. $this->assertContains($expected, $result);
  69. $result = $this->Datetime->published(date(FORMAT_DB_DATETIME, time() - DAY));
  70. $expected = 'class="published already';
  71. $this->assertContains($expected, $result);
  72. }
  73. /**
  74. * DatetimeHelperTest::testTimezones()
  75. *
  76. * @return void
  77. */
  78. public function testTimezones() {
  79. $result = $this->Datetime->timezones();
  80. $this->assertTrue(!empty($result));
  81. }
  82. /**
  83. * TearDown method
  84. *
  85. * @return void
  86. */
  87. public function tearDown() {
  88. parent::tearDown();
  89. unset($this->Datetime);
  90. }
  91. }