TimeHelperTest.php 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. namespace Tools\TestCase\View\Helper;
  3. use Tools\View\Helper\TimeHelper;
  4. use Tools\TestSuite\TestCase;
  5. use Cake\View\View;
  6. use Cake\Core\Configure;
  7. use Tools\Utility\Time;
  8. /**
  9. * Datetime Test Case
  10. *
  11. */
  12. class TimeHelperTest extends TestCase {
  13. public function setUp() {
  14. parent::setUp();
  15. $this->Time = new TimeHelper(new View(null));
  16. }
  17. /**
  18. * Test user age
  19. *
  20. * @return void
  21. */
  22. public function testUserAge() {
  23. $res = $this->Time->userAge((date('Y') - 4) . '-01-01');
  24. $this->assertTrue($res >= 3 && $res <= 5);
  25. $res = $this->Time->userAge('2023-01-01');
  26. $this->assertSame('---', $res);
  27. $res = $this->Time->userAge('1903-01-01');
  28. $this->assertSame('---', $res);
  29. $res = $this->Time->userAge('1901-01-01');
  30. $this->assertSame('---', $res);
  31. }
  32. /**
  33. * Tests that calling a CakeTime method works.
  34. *
  35. * @return void
  36. */
  37. public function testTimeAgoInWords() {
  38. $res = $this->Time->timeAgoInWords(date(FORMAT_DB_DATETIME, time() - 4 * DAY - 5 * HOUR));
  39. $this->debug($res);
  40. }
  41. /**
  42. * DatetimeHelperTest::testPublished()
  43. *
  44. * @return void
  45. */
  46. public function testPublished() {
  47. $result = $this->Time->published((new Time(date(FORMAT_DB_DATETIME)))->addSeconds(1));
  48. $expected = 'class="published today';
  49. $this->assertContains($expected, $result);
  50. $result = $this->Time->published((new Time(date(FORMAT_DB_DATETIME)))->addDays(1));
  51. $expected = 'class="published notyet';
  52. $this->assertContains($expected, $result);
  53. $result = $this->Time->published((new Time(date(FORMAT_DB_DATETIME)))->subDays(2));
  54. $expected = 'class="published already';
  55. $this->assertContains($expected, $result);
  56. }
  57. /**
  58. * DatetimeHelperTest::testTimezones()
  59. *
  60. * @return void
  61. */
  62. public function testTimezones() {
  63. $result = $this->Time->timezones();
  64. $this->assertTrue(!empty($result));
  65. }
  66. /**
  67. * TearDown method
  68. *
  69. * @return void
  70. */
  71. public function tearDown() {
  72. parent::tearDown();
  73. unset($this->Time);
  74. }
  75. }