Annotation of embedaddon/php/ext/date/tests/bug20382-2.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Bug #20382 [2] (strtotime ("Monday", $date) produces wrong result on DST changeover)
3: --FILE--
4: <?php
5:
6: $tests = array(
7: array("Europe/Andorra", 17, 17, 17, 1, 24764, 1970),
8: array("Asia/Dubai", 17, 17, 17, 1, 1, 1970),
9: array("Asia/Kabul", 17, 17, 17, 1, 1, 1970),
10: array("America/Antigua", 17, 17, 17, 1, 1, 1970),
11: array("America/Anguilla", 17, 17, 17, 1, 1, 1970),
12: array("Europe/Tirane", 17, 17, 17, 1, 4849, 1970),
13: array("Asia/Yerevan", 17, 17, 17, 1, 24764, 1970),
14: array("America/Curacao", 17, 17, 17, 1, 1, 1970),
15: array("Africa/Luanda", 17, 17, 17, 1, 1, 1970),
16: array("Antarctica/McMurdo", 17, 17, 17, 1, 24743, 1970),
17: array("Australia/Adelaide", 17, 17, 17, 1, 1, 1971),
18: array("Australia/Darwin", 17, 17, 17, 1, 88, 1971),
19: array("Australia/Perth", 17, 17, 17, 1, 1, 1971),
20: array("America/Aruba", 17, 17, 17, 1, 88, 1971),
21: array("Asia/Baku", 17, 17, 17, 1, 1, 1971),
22: array("Europe/Sarajevo", 17, 17, 17, 1, 1, 1971),
23: array("America/Barbados", 17, 17, 17, 1, 1, 1971),
24: array("Asia/Dacca", 17, 17, 17, 1, 1, 1971),
25: array("Europe/Brussels", 17, 17, 17, 1, 1, 1971),
26: array("Africa/Ouagadougou", 17, 17, 17, 1, 88, 1971),
27: array("Europe/Tirane", 17, 17, 17, 1, 4849, 1970),
28: array("America/Buenos_Aires", 17, 17, 17, 1, 1734, 1970),
29: array("America/Rosario", 17, 17, 17, 1, 1734, 1970),
30: array("Europe/Vienna", 17, 17, 17, 1, 3743, 1970),
31: array("Asia/Baku", 17, 17, 17, 1, 9490, 1970),
32: );
33:
34: foreach ($tests as $test) {
35: date_default_timezone_set($test[0]);
36: print "{$test[0]}\n";
37: array_shift($test);
38: $timestamp = call_user_func_array('mktime', $test);
39:
40: print "ts = ". date("l Y-m-d H:i:s T", $timestamp). "\n";
41: $strtotime_tstamp = strtotime("first monday", $timestamp);
42: print "result = ".date("l Y-m-d H:i:s T", $strtotime_tstamp)."\n";
43: print "wanted = Monday 00:00:00\n\n";
44: }
45: ?>
46: --EXPECT--
47: Europe/Andorra
48: ts = Monday 2037-10-19 17:17:17 CEST
49: result = Monday 2037-10-26 00:00:00 CET
50: wanted = Monday 00:00:00
51:
52: Asia/Dubai
53: ts = Thursday 1970-01-01 17:17:17 GST
54: result = Monday 1970-01-05 00:00:00 GST
55: wanted = Monday 00:00:00
56:
57: Asia/Kabul
58: ts = Thursday 1970-01-01 17:17:17 AFT
59: result = Monday 1970-01-05 00:00:00 AFT
60: wanted = Monday 00:00:00
61:
62: America/Antigua
63: ts = Thursday 1970-01-01 17:17:17 AST
64: result = Monday 1970-01-05 00:00:00 AST
65: wanted = Monday 00:00:00
66:
67: America/Anguilla
68: ts = Thursday 1970-01-01 17:17:17 AST
69: result = Monday 1970-01-05 00:00:00 AST
70: wanted = Monday 00:00:00
71:
72: Europe/Tirane
73: ts = Monday 1983-04-11 17:17:17 CET
74: result = Monday 1983-04-18 01:00:00 CEST
75: wanted = Monday 00:00:00
76:
77: Asia/Yerevan
78: ts = Monday 2037-10-19 17:17:17 AMST
79: result = Monday 2037-10-26 00:00:00 AMT
80: wanted = Monday 00:00:00
81:
82: America/Curacao
83: ts = Thursday 1970-01-01 17:17:17 AST
84: result = Monday 1970-01-05 00:00:00 AST
85: wanted = Monday 00:00:00
86:
87: Africa/Luanda
88: ts = Thursday 1970-01-01 17:17:17 WAT
89: result = Monday 1970-01-05 00:00:00 WAT
90: wanted = Monday 00:00:00
91:
92: Antarctica/McMurdo
93: ts = Monday 2037-09-28 17:17:17 NZDT
94: result = Monday 2037-10-05 00:00:00 NZDT
95: wanted = Monday 00:00:00
96:
97: Australia/Adelaide
98: ts = Friday 1971-01-01 17:17:17 CST
99: result = Monday 1971-01-04 00:00:00 CST
100: wanted = Monday 00:00:00
101:
102: Australia/Darwin
103: ts = Monday 1971-03-29 17:17:17 CST
104: result = Monday 1971-04-05 00:00:00 CST
105: wanted = Monday 00:00:00
106:
107: Australia/Perth
108: ts = Friday 1971-01-01 17:17:17 WST
109: result = Monday 1971-01-04 00:00:00 WST
110: wanted = Monday 00:00:00
111:
112: America/Aruba
113: ts = Monday 1971-03-29 17:17:17 AST
114: result = Monday 1971-04-05 00:00:00 AST
115: wanted = Monday 00:00:00
116:
117: Asia/Baku
118: ts = Friday 1971-01-01 17:17:17 BAKT
119: result = Monday 1971-01-04 00:00:00 BAKT
120: wanted = Monday 00:00:00
121:
122: Europe/Sarajevo
123: ts = Friday 1971-01-01 17:17:17 CET
124: result = Monday 1971-01-04 00:00:00 CET
125: wanted = Monday 00:00:00
126:
127: America/Barbados
128: ts = Friday 1971-01-01 17:17:17 AST
129: result = Monday 1971-01-04 00:00:00 AST
130: wanted = Monday 00:00:00
131:
132: Asia/Dacca
133: ts = Friday 1971-01-01 17:17:17 DACT
134: result = Monday 1971-01-04 00:00:00 DACT
135: wanted = Monday 00:00:00
136:
137: Europe/Brussels
138: ts = Friday 1971-01-01 17:17:17 CET
139: result = Monday 1971-01-04 00:00:00 CET
140: wanted = Monday 00:00:00
141:
142: Africa/Ouagadougou
143: ts = Monday 1971-03-29 17:17:17 GMT
144: result = Monday 1971-04-05 00:00:00 GMT
145: wanted = Monday 00:00:00
146:
147: Europe/Tirane
148: ts = Monday 1983-04-11 17:17:17 CET
149: result = Monday 1983-04-18 01:00:00 CEST
150: wanted = Monday 00:00:00
151:
152: America/Buenos_Aires
153: ts = Monday 1974-09-30 17:17:17 ART
154: result = Monday 1974-10-07 00:00:00 ART
155: wanted = Monday 00:00:00
156:
157: America/Rosario
158: ts = Monday 1974-09-30 17:17:17 ART
159: result = Monday 1974-10-07 00:00:00 ART
160: wanted = Monday 00:00:00
161:
162: Europe/Vienna
163: ts = Monday 1980-03-31 17:17:17 CET
164: result = Monday 1980-04-07 00:00:00 CEST
165: wanted = Monday 00:00:00
166:
167: Asia/Baku
168: ts = Monday 1995-12-25 17:17:17 AZT
169: result = Monday 1996-01-01 00:00:00 AZT
170: wanted = Monday 00:00:00
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>