PluginProbe ʕ •ᴥ•ʔ
Brevo – Email, SMS, Web Push, Chat, and more. / trunk
Brevo – Email, SMS, Web Push, Chat, and more. vtrunk
2.9.13 2.9.14 2.9.15 2.9.16 2.9.17 2.9.18 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8 2.9.9 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.9 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.2 3.1.20 3.1.21 3.1.22 3.1.23 3.1.24 3.1.25 3.1.26 3.1.27 3.1.28 3.1.29 3.1.3 3.1.30 3.1.31 3.1.32 3.1.33 3.1.34 3.1.35 3.1.36 3.1.37 3.1.38 3.1.39 3.1.4 3.1.40 3.1.41 3.1.42 3.1.43 3.1.44 3.1.45 3.1.46 3.1.47 3.1.48 3.1.49 3.1.5 3.1.50 3.1.51 3.1.52 3.1.53 3.1.54 3.1.55 3.1.56 3.1.57 3.1.58 3.1.59 3.1.6 3.1.60 3.1.61 3.1.62 3.1.63 3.1.64 3.1.65 3.1.66 3.1.67 3.1.68 3.1.69 3.1.7 3.1.70 3.1.71 3.1.72 3.1.73 3.1.74 3.1.75 3.1.76 3.1.77 3.1.78 3.1.79 3.1.8 3.1.80 3.1.81 3.1.82 3.1.83 3.1.84 3.1.85 3.1.86 3.1.87 3.1.88 3.1.89 3.1.9 3.1.90 3.1.91 3.1.92 3.1.93 3.1.94 3.1.95 3.1.96 3.1.97 3.1.98 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 trunk 1.0 1.5 2.0.8 2.9.10 2.9.11 2.9.12
mailin / wonderpush-php-lib / tests / Util / TimeUtilTest.php
mailin / wonderpush-php-lib / tests / Util Last commit date
ArrayUtilTest.php 1 year ago StringUtilTest.php 1 year ago TimeUnitTest.php 1 year ago TimeUtilTest.php 1 year ago TimeValueTest.php 1 year ago UrlUtilTest.php 1 year ago
TimeUtilTest.php
91 lines
1 <?php
2
3 namespace WonderPush\Util;
4
5 class TimeUtilTest extends \WonderPush\TestCase {
6
7 public function testParseISO8601DateOptionalTime() {
8 $this->assertNull(TimeUtil::parseISO8601DateOptionalTime(null));
9 $this->assertNull(TimeUtil::parseISO8601DateOptionalTime(''));
10 $this->assertNull(TimeUtil::parseISO8601DateOptionalTime('BAD VALUE'));
11
12 $dt = TimeUtil::parseISO8601DateOptionalTime('1970');
13 $this->assertEquals(0, $dt->getTimestamp());
14 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01');
15 $this->assertEquals(0, $dt->getTimestamp());
16 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01');
17 $this->assertEquals(0, $dt->getTimestamp());
18 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00');
19 $this->assertEquals(0, $dt->getTimestamp());
20 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00');
21 $this->assertEquals(0, $dt->getTimestamp());
22 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00');
23 $this->assertEquals(0, $dt->getTimestamp());
24 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000');
25 $this->assertEquals(0, $dt->getTimestamp());
26 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000Z');
27 $this->assertEquals(0, $dt->getTimestamp());
28 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00');
29 $this->assertEquals(0, $dt->getTimestamp());
30 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00');
31 $this->assertEquals(0, $dt->getTimestamp());
32 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00:00');
33 $this->assertEquals(0, $dt->getTimestamp());
34 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00:00.000');
35 $this->assertEquals(0, $dt->getTimestamp());
36 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00:00.000Z');
37 $this->assertNull($dt);
38
39 $dt = TimeUtil::parseISO8601DateOptionalTime('1971');
40 $this->assertEquals(365*24*60*60, $dt->getTimestamp());
41 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-02');
42 $this->assertEquals(31*24*60*60, $dt->getTimestamp());
43 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-02');
44 $this->assertEquals(24*60*60, $dt->getTimestamp());
45 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T01');
46 $this->assertEquals(60*60, $dt->getTimestamp());
47 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:01');
48 $this->assertEquals(60, $dt->getTimestamp());
49 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:01');
50 $this->assertEquals(1, $dt->getTimestamp());
51 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.001');
52 $this->assertEquals(0, $dt->getTimestamp());
53 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.001Z');
54 $this->assertEquals(0, $dt->getTimestamp());
55 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+01');
56 $this->assertEquals(-60*60, $dt->getTimestamp());
57 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:01');
58 $this->assertEquals(-60, $dt->getTimestamp());
59 // Offset seconds and milliseconds are not supported by the parser
60 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00:59');
61 $this->assertEquals(0, $dt->getTimestamp());
62 $dt = TimeUtil::parseISO8601DateOptionalTime('1970-01-01T00:00:00.000+00:00:59.999');
63 $this->assertEquals(0, $dt->getTimestamp());
64 }
65
66 public function testGetMillisecondTimestampFromDateTime() {
67 /** @noinspection PhpUnhandledExceptionInspection */
68 $dt = new \DateTime('', new \DateTimeZone('UTC'));
69 $dt->setDate(1970, 1, 1);
70 $dt->setTime(0, 0);
71 $this->assertEquals(0, TimeUtil::getMillisecondTimestampFromDateTime($dt));
72
73 /** @noinspection PhpUnhandledExceptionInspection */
74 $dt = new \DateTime('', new \DateTimeZone('CET'));
75 $dt->setDate(1970, 1, 1);
76 $dt->setTime(0, 0);
77 $this->assertEquals(-3600000, TimeUtil::getMillisecondTimestampFromDateTime($dt));
78
79 /** @noinspection PhpUnhandledExceptionInspection */
80 $dt = new \DateTime('', new \DateTimeZone('UTC'));
81 $dt->setTimestamp(0);
82 $this->assertEquals(0, TimeUtil::getMillisecondTimestampFromDateTime($dt));
83 $dt->setTimestamp(0.1); // PHP does not support float timestamps
84 $this->assertEquals(0, TimeUtil::getMillisecondTimestampFromDateTime($dt));
85 // 1s becomes 1000ms
86 $dt->setTimestamp(1);
87 $this->assertEquals(1000, TimeUtil::getMillisecondTimestampFromDateTime($dt));
88 }
89
90 }
91