File manager - Edit - /home/proidvn/me.proid.vn/wp-content/plugins/mailin/wonderpush-php-lib/tests/Util/TimeUtilTest.php
Back
<?php namespace WonderPush\Util; class TimeUtilTest extends \WonderPush\TestCase { public function testParseISO8601DateOptionalTime() { $this->assertNull(TimeUtil::parseISO8601DateOptionalTime(null)); $this->assertNull(TimeUtil::parseISO8601DateOptionalTime('')); $this->assertNull(TimeUtil::parseISO8601DateOptionalTime('BAD VALUE')); $dt = TimeUtil::parseISO8601DateOptionalTime('1970'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000Z'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00:00'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00:00.000'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00:00.000Z'); $this->assertNull($dt); $dt = TimeUtil::parseISO8601DateOptionalTime('1971'); $this->assertEquals(365*24*60*60, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-02'); $this->assertEquals(31*24*60*60, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-02'); $this->assertEquals(24*60*60, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T01'); $this->assertEquals(60*60, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:01'); $this->assertEquals(60, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:01'); $this->assertEquals(1, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.001'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.001Z'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+01'); $this->assertEquals(-60*60, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:01'); $this->assertEquals(-60, $dt->getTimestamp()); // Offset seconds and milliseconds are not supported by the parser $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00:59'); $this->assertEquals(0, $dt->getTimestamp()); $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00:59.999'); $this->assertEquals(0, $dt->getTimestamp()); } public function testGetMillisecondTimestampFromDateTime() { /** @noinspection PhpUnhandledExceptionInspection */ $dt = new \DateTime('', new \DateTimeZone('UTC')); $dt->setDate(1970, 1, 1); $dt->setTime(0, 0); $this->assertEquals(0, TimeUtil::getMillisecondTimestampFromDateTime($dt)); /** @noinspection PhpUnhandledExceptionInspection */ $dt = new \DateTime('', new \DateTimeZone('CET')); $dt->setDate(1970, 1, 1); $dt->setTime(0, 0); $this->assertEquals(-3600000, TimeUtil::getMillisecondTimestampFromDateTime($dt)); /** @noinspection PhpUnhandledExceptionInspection */ $dt = new \DateTime('', new \DateTimeZone('UTC')); $dt->setTimestamp(0); $this->assertEquals(0, TimeUtil::getMillisecondTimestampFromDateTime($dt)); $dt->setTimestamp(0.1); // PHP does not support float timestamps $this->assertEquals(0, TimeUtil::getMillisecondTimestampFromDateTime($dt)); // 1s becomes 1000ms $dt->setTimestamp(1); $this->assertEquals(1000, TimeUtil::getMillisecondTimestampFromDateTime($dt)); } }
| ver. 1.4 |
Github
|
.
| PHP 8.0.30 | Generation time: 0.42 |
proxy
|
phpinfo
|
Settings