blob: ca55ccc888b52b8ee48dc9221a596d3d1f4747f6 [file] [log] [blame]
Ben Murdochb8a8cc12014-11-26 15:28:44 +00001// Copyright 2014 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5function timezone(tz) {
6 var str = (new Date(2014, 0, 10)).toString();
7 if (tz == "CET") {
8 return str == "Fri Jan 10 2014 00:00:00 GMT+0100 (CET)";
9 }
10 if (tz == "BRT") {
11 return str == "Fri Jan 10 2014 00:00:00 GMT-0200 (BRST)";
12 }
13 if (tz == "PST") {
14 return str == "Fri Jan 10 2014 00:00:00 GMT-0800 (PST)";
15 }
16 return false;
17}
18
19if (timezone("CET")) {
20 assertEquals("Sat Mar 29 2014 22:59:00 GMT+0100 (CET)",
21 (new Date(2014, 2, 29, 22, 59)).toString());
22 assertEquals("Sat, 29 Mar 2014 21:59:00 GMT",
23 (new Date(2014, 2, 29, 22, 59)).toUTCString());
24 assertEquals("Sat Mar 29 2014 23:00:00 GMT+0100 (CET)",
25 (new Date(2014, 2, 29, 23, 0)).toString());
26 assertEquals("Sat, 29 Mar 2014 22:00:00 GMT",
27 (new Date(2014, 2, 29, 23, 0)).toUTCString());
28 assertEquals("Sat Mar 29 2014 23:59:00 GMT+0100 (CET)",
29 (new Date(2014, 2, 29, 23, 59)).toString());
30 assertEquals("Sat, 29 Mar 2014 22:59:00 GMT",
31 (new Date(2014, 2, 29, 23, 59)).toUTCString());
32 assertEquals("Sun Mar 30 2014 00:00:00 GMT+0100 (CET)",
33 (new Date(2014, 2, 30, 0, 0)).toString());
34 assertEquals("Sat, 29 Mar 2014 23:00:00 GMT",
35 (new Date(2014, 2, 30, 0, 0)).toUTCString());
36 assertEquals("Sun Mar 30 2014 00:59:00 GMT+0100 (CET)",
37 (new Date(2014, 2, 30, 0, 59)).toString());
38 assertEquals("Sat, 29 Mar 2014 23:59:00 GMT",
39 (new Date(2014, 2, 30, 0, 59)).toUTCString());
40 assertEquals("Sun Mar 30 2014 01:00:00 GMT+0100 (CET)",
41 (new Date(2014, 2, 30, 1, 0)).toString());
42 assertEquals("Sun, 30 Mar 2014 00:00:00 GMT",
43 (new Date(2014, 2, 30, 1, 0)).toUTCString());
44 assertEquals("Sun Mar 30 2014 01:59:00 GMT+0100 (CET)",
45 (new Date(2014, 2, 30, 1, 59)).toString());
46 assertEquals("Sun, 30 Mar 2014 00:59:00 GMT",
47 (new Date(2014, 2, 30, 1, 59)).toUTCString());
48 assertEquals("Sun Mar 30 2014 03:00:00 GMT+0200 (CEST)",
49 (new Date(2014, 2, 30, 2, 0)).toString());
50 assertEquals("Sun, 30 Mar 2014 01:00:00 GMT",
51 (new Date(2014, 2, 30, 2, 0)).toUTCString());
52 assertEquals("Sun Mar 30 2014 03:59:00 GMT+0200 (CEST)",
53 (new Date(2014, 2, 30, 2, 59)).toString());
54 assertEquals("Sun, 30 Mar 2014 01:59:00 GMT",
55 (new Date(2014, 2, 30, 2, 59)).toUTCString());
56 assertEquals("Sun Mar 30 2014 03:00:00 GMT+0200 (CEST)",
57 (new Date(2014, 2, 30, 3, 0)).toString());
58 assertEquals("Sun, 30 Mar 2014 01:00:00 GMT",
59 (new Date(2014, 2, 30, 3, 0)).toUTCString());
60 assertEquals("Sun Mar 30 2014 03:59:00 GMT+0200 (CEST)",
61 (new Date(2014, 2, 30, 3, 59)).toString());
62 assertEquals("Sun, 30 Mar 2014 01:59:00 GMT",
63 (new Date(2014, 2, 30, 3, 59)).toUTCString());
64 assertEquals("Sun Mar 30 2014 04:00:00 GMT+0200 (CEST)",
65 (new Date(2014, 2, 30, 4, 0)).toString());
66 assertEquals("Sun, 30 Mar 2014 02:00:00 GMT",
67 (new Date(2014, 2, 30, 4, 0)).toUTCString());
68 assertEquals("Sat Oct 25 2014 22:59:00 GMT+0200 (CEST)",
69 (new Date(2014, 9, 25, 22, 59)).toString());
70 assertEquals("Sat, 25 Oct 2014 20:59:00 GMT",
71 (new Date(2014, 9, 25, 22, 59)).toUTCString());
72 assertEquals("Sat Oct 25 2014 23:00:00 GMT+0200 (CEST)",
73 (new Date(2014, 9, 25, 23, 0)).toString());
74 assertEquals("Sat, 25 Oct 2014 21:00:00 GMT",
75 (new Date(2014, 9, 25, 23, 0)).toUTCString());
76 assertEquals("Sat Oct 25 2014 23:59:00 GMT+0200 (CEST)",
77 (new Date(2014, 9, 25, 23, 59)).toString());
78 assertEquals("Sat, 25 Oct 2014 21:59:00 GMT",
79 (new Date(2014, 9, 25, 23, 59)).toUTCString());
80 assertEquals("Sun Oct 26 2014 00:00:00 GMT+0200 (CEST)",
81 (new Date(2014, 9, 26, 0, 0)).toString());
82 assertEquals("Sat, 25 Oct 2014 22:00:00 GMT",
83 (new Date(2014, 9, 26, 0, 0)).toUTCString());
84 assertEquals("Sun Oct 26 2014 00:59:00 GMT+0200 (CEST)",
85 (new Date(2014, 9, 26, 0, 59)).toString());
86 assertEquals("Sat, 25 Oct 2014 22:59:00 GMT",
87 (new Date(2014, 9, 26, 0, 59)).toUTCString());
88 assertEquals("Sun Oct 26 2014 01:00:00 GMT+0200 (CEST)",
89 (new Date(2014, 9, 26, 1, 0)).toString());
90 assertEquals("Sat, 25 Oct 2014 23:00:00 GMT",
91 (new Date(2014, 9, 26, 1, 0)).toUTCString());
92 assertEquals("Sun Oct 26 2014 01:59:00 GMT+0200 (CEST)",
93 (new Date(2014, 9, 26, 1, 59)).toString());
94 assertEquals("Sat, 25 Oct 2014 23:59:00 GMT",
95 (new Date(2014, 9, 26, 1, 59)).toUTCString());
96 assertEquals("Sun Oct 26 2014 02:00:00 GMT+0200 (CEST)",
97 (new Date(2014, 9, 26, 2, 0)).toString());
98 assertEquals("Sun, 26 Oct 2014 00:00:00 GMT",
99 (new Date(2014, 9, 26, 2, 0)).toUTCString());
100 assertEquals("Sun Oct 26 2014 02:59:00 GMT+0200 (CEST)",
101 (new Date(2014, 9, 26, 2, 59)).toString());
102 assertEquals("Sun, 26 Oct 2014 00:59:00 GMT",
103 (new Date(2014, 9, 26, 2, 59)).toUTCString());
104 assertEquals("Sun Oct 26 2014 03:00:00 GMT+0100 (CET)",
105 (new Date(2014, 9, 26, 3, 0)).toString());
106 assertEquals("Sun, 26 Oct 2014 02:00:00 GMT",
107 (new Date(2014, 9, 26, 3, 0)).toUTCString());
108 assertEquals("Sun Oct 26 2014 03:59:00 GMT+0100 (CET)",
109 (new Date(2014, 9, 26, 3, 59)).toString());
110 assertEquals("Sun, 26 Oct 2014 02:59:00 GMT",
111 (new Date(2014, 9, 26, 3, 59)).toUTCString());
112 assertEquals("Sun Oct 26 2014 04:00:00 GMT+0100 (CET)",
113 (new Date(2014, 9, 26, 4, 0)).toString());
114 assertEquals("Sun, 26 Oct 2014 03:00:00 GMT",
115 (new Date(2014, 9, 26, 4, 0)).toUTCString());
116}
117
118if (timezone("BRT")) {
119 assertEquals("Sat Oct 18 2014 22:59:00 GMT-0300 (BRT)",
120 (new Date(2014, 9, 18, 22, 59)).toString());
121 assertEquals("Sun, 19 Oct 2014 01:59:00 GMT",
122 (new Date(2014, 9, 18, 22, 59)).toUTCString());
123 assertEquals("Sat Oct 18 2014 23:00:00 GMT-0300 (BRT)",
124 (new Date(2014, 9, 18, 23, 0)).toString());
125 assertEquals("Sun, 19 Oct 2014 02:00:00 GMT",
126 (new Date(2014, 9, 18, 23, 0)).toUTCString());
127 assertEquals("Sat Oct 18 2014 23:59:00 GMT-0300 (BRT)",
128 (new Date(2014, 9, 18, 23, 59)).toString());
129 assertEquals("Sun, 19 Oct 2014 02:59:00 GMT",
130 (new Date(2014, 9, 18, 23, 59)).toUTCString());
131 assertEquals("Sun Oct 19 2014 01:00:00 GMT-0200 (BRST)",
132 (new Date(2014, 9, 19, 0, 0)).toString());
133 assertEquals("Sun, 19 Oct 2014 03:00:00 GMT",
134 (new Date(2014, 9, 19, 0, 0)).toUTCString());
135 assertEquals("Sun Oct 19 2014 01:59:00 GMT-0200 (BRST)",
136 (new Date(2014, 9, 19, 0, 59)).toString());
137 assertEquals("Sun, 19 Oct 2014 03:59:00 GMT",
138 (new Date(2014, 9, 19, 0, 59)).toUTCString());
139 assertEquals("Sun Oct 19 2014 01:00:00 GMT-0200 (BRST)",
140 (new Date(2014, 9, 19, 1, 0)).toString());
141 assertEquals("Sun, 19 Oct 2014 03:00:00 GMT",
142 (new Date(2014, 9, 19, 1, 0)).toUTCString());
143 assertEquals("Sun Oct 19 2014 01:59:00 GMT-0200 (BRST)",
144 (new Date(2014, 9, 19, 1, 59)).toString());
145 assertEquals("Sun, 19 Oct 2014 03:59:00 GMT",
146 (new Date(2014, 9, 19, 1, 59)).toUTCString());
147 assertEquals("Sun Oct 19 2014 02:00:00 GMT-0200 (BRST)",
148 (new Date(2014, 9, 19, 2, 0)).toString());
149 assertEquals("Sun, 19 Oct 2014 04:00:00 GMT",
150 (new Date(2014, 9, 19, 2, 0)).toUTCString());
151 assertEquals("Sun Oct 19 2014 02:59:00 GMT-0200 (BRST)",
152 (new Date(2014, 9, 19, 2, 59)).toString());
153 assertEquals("Sun, 19 Oct 2014 04:59:00 GMT",
154 (new Date(2014, 9, 19, 2, 59)).toUTCString());
155 assertEquals("Sun Oct 19 2014 03:00:00 GMT-0200 (BRST)",
156 (new Date(2014, 9, 19, 3, 0)).toString());
157 assertEquals("Sun, 19 Oct 2014 05:00:00 GMT",
158 (new Date(2014, 9, 19, 3, 0)).toUTCString());
159 assertEquals("Sun Oct 19 2014 03:59:00 GMT-0200 (BRST)",
160 (new Date(2014, 9, 19, 3, 59)).toString());
161 assertEquals("Sun, 19 Oct 2014 05:59:00 GMT",
162 (new Date(2014, 9, 19, 3, 59)).toUTCString());
163 assertEquals("Sun Oct 19 2014 04:00:00 GMT-0200 (BRST)",
164 (new Date(2014, 9, 19, 4, 0)).toString());
165 assertEquals("Sun, 19 Oct 2014 06:00:00 GMT",
166 (new Date(2014, 9, 19, 4, 0)).toUTCString());
167 assertEquals("Sat Feb 15 2014 22:59:00 GMT-0200 (BRST)",
168 (new Date(2014, 1, 15, 22, 59)).toString());
169 assertEquals("Sun, 16 Feb 2014 00:59:00 GMT",
170 (new Date(2014, 1, 15, 22, 59)).toUTCString());
171 assertEquals("Sat Feb 15 2014 23:00:00 GMT-0200 (BRST)",
172 (new Date(2014, 1, 15, 23, 0)).toString());
173 assertEquals("Sun, 16 Feb 2014 01:00:00 GMT",
174 (new Date(2014, 1, 15, 23, 0)).toUTCString());
175 assertEquals("Sat Feb 15 2014 23:59:00 GMT-0200 (BRST)",
176 (new Date(2014, 1, 15, 23, 59)).toString());
177 assertEquals("Sun, 16 Feb 2014 01:59:00 GMT",
178 (new Date(2014, 1, 15, 23, 59)).toUTCString());
179 assertEquals("Sun Feb 16 2014 00:00:00 GMT-0300 (BRT)",
180 (new Date(2014, 1, 16, 0, 0)).toString());
181 assertEquals("Sun, 16 Feb 2014 03:00:00 GMT",
182 (new Date(2014, 1, 16, 0, 0)).toUTCString());
183 assertEquals("Sun Feb 16 2014 00:59:00 GMT-0300 (BRT)",
184 (new Date(2014, 1, 16, 0, 59)).toString());
185 assertEquals("Sun, 16 Feb 2014 03:59:00 GMT",
186 (new Date(2014, 1, 16, 0, 59)).toUTCString());
187 assertEquals("Sun Feb 16 2014 01:00:00 GMT-0300 (BRT)",
188 (new Date(2014, 1, 16, 1, 0)).toString());
189 assertEquals("Sun, 16 Feb 2014 04:00:00 GMT",
190 (new Date(2014, 1, 16, 1, 0)).toUTCString());
191 assertEquals("Sun Feb 16 2014 01:59:00 GMT-0300 (BRT)",
192 (new Date(2014, 1, 16, 1, 59)).toString());
193 assertEquals("Sun, 16 Feb 2014 04:59:00 GMT",
194 (new Date(2014, 1, 16, 1, 59)).toUTCString());
195 assertEquals("Sun Feb 16 2014 02:00:00 GMT-0300 (BRT)",
196 (new Date(2014, 1, 16, 2, 0)).toString());
197 assertEquals("Sun, 16 Feb 2014 05:00:00 GMT",
198 (new Date(2014, 1, 16, 2, 0)).toUTCString());
199 assertEquals("Sun Feb 16 2014 02:59:00 GMT-0300 (BRT)",
200 (new Date(2014, 1, 16, 2, 59)).toString());
201 assertEquals("Sun, 16 Feb 2014 05:59:00 GMT",
202 (new Date(2014, 1, 16, 2, 59)).toUTCString());
203 assertEquals("Sun Feb 16 2014 03:00:00 GMT-0300 (BRT)",
204 (new Date(2014, 1, 16, 3, 0)).toString());
205 assertEquals("Sun, 16 Feb 2014 06:00:00 GMT",
206 (new Date(2014, 1, 16, 3, 0)).toUTCString());
207 assertEquals("Sun Feb 16 2014 03:59:00 GMT-0300 (BRT)",
208 (new Date(2014, 1, 16, 3, 59)).toString());
209 assertEquals("Sun, 16 Feb 2014 06:59:00 GMT",
210 (new Date(2014, 1, 16, 3, 59)).toUTCString());
211 assertEquals("Sun Feb 16 2014 04:00:00 GMT-0300 (BRT)",
212 (new Date(2014, 1, 16, 4, 0)).toString());
213 assertEquals("Sun, 16 Feb 2014 07:00:00 GMT",
214 (new Date(2014, 1, 16, 4, 0)).toUTCString());
215}
216
217if (timezone("PST")) {
218 assertEquals("Sat Mar 08 2014 22:59:00 GMT-0800 (PST)",
219 (new Date(2014, 2, 8, 22, 59)).toString());
220 assertEquals("Sun, 09 Mar 2014 06:59:00 GMT",
221 (new Date(2014, 2, 8, 22, 59)).toUTCString());
222 assertEquals("Sat Mar 08 2014 23:00:00 GMT-0800 (PST)",
223 (new Date(2014, 2, 8, 23, 0)).toString());
224 assertEquals("Sun, 09 Mar 2014 07:00:00 GMT",
225 (new Date(2014, 2, 8, 23, 0)).toUTCString());
226 assertEquals("Sat Mar 08 2014 23:59:00 GMT-0800 (PST)",
227 (new Date(2014, 2, 8, 23, 59)).toString());
228 assertEquals("Sun, 09 Mar 2014 07:59:00 GMT",
229 (new Date(2014, 2, 8, 23, 59)).toUTCString());
230 assertEquals("Sun Mar 09 2014 00:00:00 GMT-0800 (PST)",
231 (new Date(2014, 2, 9, 0, 0)).toString());
232 assertEquals("Sun, 09 Mar 2014 08:00:00 GMT",
233 (new Date(2014, 2, 9, 0, 0)).toUTCString());
234 assertEquals("Sun Mar 09 2014 00:59:00 GMT-0800 (PST)",
235 (new Date(2014, 2, 9, 0, 59)).toString());
236 assertEquals("Sun, 09 Mar 2014 08:59:00 GMT",
237 (new Date(2014, 2, 9, 0, 59)).toUTCString());
238 assertEquals("Sun Mar 09 2014 01:00:00 GMT-0800 (PST)",
239 (new Date(2014, 2, 9, 1, 0)).toString());
240 assertEquals("Sun, 09 Mar 2014 09:00:00 GMT",
241 (new Date(2014, 2, 9, 1, 0)).toUTCString());
242 assertEquals("Sun Mar 09 2014 01:59:00 GMT-0800 (PST)",
243 (new Date(2014, 2, 9, 1, 59)).toString());
244 assertEquals("Sun, 09 Mar 2014 09:59:00 GMT",
245 (new Date(2014, 2, 9, 1, 59)).toUTCString());
246 assertEquals("Sun Mar 09 2014 03:00:00 GMT-0700 (PDT)",
247 (new Date(2014, 2, 9, 2, 0)).toString());
248 assertEquals("Sun, 09 Mar 2014 10:00:00 GMT",
249 (new Date(2014, 2, 9, 2, 0)).toUTCString());
250 assertEquals("Sun Mar 09 2014 03:59:00 GMT-0700 (PDT)",
251 (new Date(2014, 2, 9, 2, 59)).toString());
252 assertEquals("Sun, 09 Mar 2014 10:59:00 GMT",
253 (new Date(2014, 2, 9, 2, 59)).toUTCString());
254 assertEquals("Sun Mar 09 2014 03:00:00 GMT-0700 (PDT)",
255 (new Date(2014, 2, 9, 3, 0)).toString());
256 assertEquals("Sun, 09 Mar 2014 10:00:00 GMT",
257 (new Date(2014, 2, 9, 3, 0)).toUTCString());
258 assertEquals("Sun Mar 09 2014 03:59:00 GMT-0700 (PDT)",
259 (new Date(2014, 2, 9, 3, 59)).toString());
260 assertEquals("Sun, 09 Mar 2014 10:59:00 GMT",
261 (new Date(2014, 2, 9, 3, 59)).toUTCString());
262 assertEquals("Sun Mar 09 2014 04:00:00 GMT-0700 (PDT)",
263 (new Date(2014, 2, 9, 4, 0)).toString());
264 assertEquals("Sun, 09 Mar 2014 11:00:00 GMT",
265 (new Date(2014, 2, 9, 4, 0)).toUTCString());
266 assertEquals("Sat Nov 01 2014 22:59:00 GMT-0700 (PDT)",
267 (new Date(2014, 10, 1, 22, 59)).toString());
268 assertEquals("Sun, 02 Nov 2014 05:59:00 GMT",
269 (new Date(2014, 10, 1, 22, 59)).toUTCString());
270 assertEquals("Sat Nov 01 2014 23:00:00 GMT-0700 (PDT)",
271 (new Date(2014, 10, 1, 23, 0)).toString());
272 assertEquals("Sun, 02 Nov 2014 06:00:00 GMT",
273 (new Date(2014, 10, 1, 23, 0)).toUTCString());
274 assertEquals("Sat Nov 01 2014 23:59:00 GMT-0700 (PDT)",
275 (new Date(2014, 10, 1, 23, 59)).toString());
276 assertEquals("Sun, 02 Nov 2014 06:59:00 GMT",
277 (new Date(2014, 10, 1, 23, 59)).toUTCString());
278 assertEquals("Sun Nov 02 2014 00:00:00 GMT-0700 (PDT)",
279 (new Date(2014, 10, 2, 0, 0)).toString());
280 assertEquals("Sun, 02 Nov 2014 07:00:00 GMT",
281 (new Date(2014, 10, 2, 0, 0)).toUTCString());
282 assertEquals("Sun Nov 02 2014 00:59:00 GMT-0700 (PDT)",
283 (new Date(2014, 10, 2, 0, 59)).toString());
284 assertEquals("Sun, 02 Nov 2014 07:59:00 GMT",
285 (new Date(2014, 10, 2, 0, 59)).toUTCString());
286 assertEquals("Sun Nov 02 2014 01:00:00 GMT-0700 (PDT)",
287 (new Date(2014, 10, 2, 1, 0)).toString());
288 assertEquals("Sun, 02 Nov 2014 08:00:00 GMT",
289 (new Date(2014, 10, 2, 1, 0)).toUTCString());
290 assertEquals("Sun Nov 02 2014 01:59:00 GMT-0700 (PDT)",
291 (new Date(2014, 10, 2, 1, 59)).toString());
292 assertEquals("Sun, 02 Nov 2014 08:59:00 GMT",
293 (new Date(2014, 10, 2, 1, 59)).toUTCString());
294 assertEquals("Sun Nov 02 2014 02:00:00 GMT-0800 (PST)",
295 (new Date(2014, 10, 2, 2, 0)).toString());
296 assertEquals("Sun, 02 Nov 2014 10:00:00 GMT",
297 (new Date(2014, 10, 2, 2, 0)).toUTCString());
298 assertEquals("Sun Nov 02 2014 02:59:00 GMT-0800 (PST)",
299 (new Date(2014, 10, 2, 2, 59)).toString());
300 assertEquals("Sun, 02 Nov 2014 10:59:00 GMT",
301 (new Date(2014, 10, 2, 2, 59)).toUTCString());
302 assertEquals("Sun Nov 02 2014 03:00:00 GMT-0800 (PST)",
303 (new Date(2014, 10, 2, 3, 0)).toString());
304 assertEquals("Sun, 02 Nov 2014 11:00:00 GMT",
305 (new Date(2014, 10, 2, 3, 0)).toUTCString());
306 assertEquals("Sun Nov 02 2014 03:59:00 GMT-0800 (PST)",
307 (new Date(2014, 10, 2, 3, 59)).toString());
308 assertEquals("Sun, 02 Nov 2014 11:59:00 GMT",
309 (new Date(2014, 10, 2, 3, 59)).toUTCString());
310 assertEquals("Sun Nov 02 2014 04:00:00 GMT-0800 (PST)",
311 (new Date(2014, 10, 2, 4, 0)).toString());
312 assertEquals("Sun, 02 Nov 2014 12:00:00 GMT",
313 (new Date(2014, 10, 2, 4, 0)).toUTCString());
314}