| Server IP : 69.72.244.102 / Your IP : 216.73.216.164 Web Server : LiteSpeed System : Linux s3434.fra1.stableserver.net 4.18.0-513.24.1.lve.2.el8.x86_64 #1 SMP Fri May 24 12:42:50 UTC 2024 x86_64 User : konzalta ( 1271) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/konzalta/public_html/wp-content/plugins/mailin/wonderpush-php-lib/tests/Util/ |
Upload File : |
<?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));
}
}