Skip to content

Commit 67c7dcd

Browse files
committed
Add formats
1 parent aef422e commit 67c7dcd

File tree

1 file changed

+132
-0
lines changed

1 file changed

+132
-0
lines changed

tests/unitary-dto-dom.php

+132
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
<?php
2+
3+
use MaplePHP\DTO\Format\Arr;
4+
use MaplePHP\DTO\Traverse;
5+
6+
$unit = new MaplePHP\Unitary\Unit();
7+
8+
// Begin by adding a test case
9+
$unit->case("MaplePHP DTO Clock", callback: function () {
10+
$obj = Traverse::value([
11+
"date" => "2023-05-21 14:35:12",
12+
"birth" => "1988-08-21 14:35:12",
13+
]);
14+
15+
$obj->date->clock()::setDefaultTimezone("Europe/Stockholm");
16+
17+
$this->add($obj->date->clock()->format("Y/m/d"), [
18+
"equal" => '2023/05/21'
19+
], "format: Failed");
20+
21+
$this->add($obj->date->clock()->format("M", "sv_SE"), [
22+
"equal" => 'maj'
23+
], "format SV_se: Failed");
24+
25+
$this->add($obj->date->clock()->setLocale("fr_FR")->format("M"), [
26+
"equal" => 'mai'
27+
], "setLocale fr_FR: Failed");
28+
29+
$this->add($obj->date->clock()->setLocale("fr_FR")->format("M"), [
30+
"equal" => 'mai'
31+
], "setLocale fr_FR: Failed");
32+
33+
$this->add($obj->date->clock()->dateTime(), [
34+
"equal" => '2023-05-21 16:35:12'
35+
], "dateTime: Failed");
36+
37+
$this->add($obj->date->clock()->date(), [
38+
"equal" => '2023-05-21'
39+
], "date: Failed");
40+
41+
$this->add($obj->date->clock()->time(), [
42+
"equal" => '16:35'
43+
], "time: Failed");
44+
45+
$this->add($obj->date->clock()->timestamp(), [
46+
"equal" => '1684679712'
47+
], "timestamp: Failed");
48+
49+
$this->add($obj->date->clock()->year(), [
50+
"equal" => '2023'
51+
], "year: Failed");
52+
53+
$this->add($obj->date->clock()->year(true), [
54+
"equal" => '23'
55+
], "year (shorthand): Failed");
56+
57+
$this->add($obj->date->clock()->month(), [
58+
"equal" => '05'
59+
], "month: Failed");
60+
61+
$this->add($obj->date->clock()->monthName(), [
62+
"equal" => 'May'
63+
], "monthName: Failed");
64+
65+
$this->add($obj->birth->clock()->shortMonthName(), [
66+
"equal" => 'Aug'
67+
], "shortMonthName: Failed");
68+
69+
$this->add($obj->date->clock()->day(), [
70+
"equal" => '21'
71+
], "day: Failed");
72+
73+
$this->add($obj->date->clock()->dayOfWeek(), [
74+
"equal" => 7
75+
], "dayOfWeek: Failed");
76+
77+
$this->add($obj->date->clock()->weekday(), [
78+
"equal" => "Sunday"
79+
], "weekday: Failed");
80+
81+
$this->add($obj->date->clock()->shortWeekday(), [
82+
"equal" => "Sun"
83+
], "shortWeekday: Failed");
84+
85+
$this->add($obj->date->clock()->seconds(), [
86+
"equal" => '12'
87+
], "seconds: Failed");
88+
89+
$this->add($obj->date->clock()->isLeapYear(), [
90+
"equal" => false
91+
], "isLeapYear: Failed");
92+
93+
$this->add($obj->date->clock()->weekNumber(), [
94+
"equal" => 20
95+
], "weekNumber: Failed");
96+
97+
$this->add($obj->date->clock()->iso(), [
98+
"equal" => "2023-05-21T16:35:12+02:00"
99+
], "iso: Failed");
100+
101+
$this->add($obj->date->clock()->rfc(), [
102+
"equal" => "Sun, 21 May 2023 16:35:12 +0200"
103+
], "rfc: Failed");
104+
105+
$this->add($obj->date->clock()->time12Hour(), [
106+
"equal" => "04:35 PM"
107+
], "time12Hour: Failed");
108+
109+
$this->add($obj->date->clock()->diffInDays(), [
110+
"lessThan" => 0
111+
], "diffInDays: Failed");
112+
113+
$this->add($obj->date->clock()->isToday(), [
114+
"equal" => false
115+
], "isToday: Failed");
116+
117+
$this->add($obj->date->clock()->timezone(), [
118+
"equal" => "Europe/Stockholm"
119+
], "timezone|setDefaultTimezone: Failed");
120+
121+
$this->add($obj->date->clock()->setTimezone("UTC")->timezone(), [
122+
"equal" => "UTC"
123+
], "setTimezone: Failed");
124+
125+
126+
// ALWAYS CALL AT THE END
127+
$obj->date->clock()::setDefaultLocale("fi_FI");
128+
$this->add($obj->date->clock()->format("M"), [
129+
"equal" => 'toukokuu'
130+
], "setDefaultLocale fi_FI: Failed");
131+
132+
});

0 commit comments

Comments
 (0)