OLD | NEW |
| (Empty) |
1 // Copyright (c) 2007-2015 International Business Machines | |
2 // Corporation and others. All Rights Reserved. | |
3 format:table(nofallback) { | |
4 Info { | |
5 Description { "These are the data driven format tests" } | |
6 LongDescription { "Data for data driven format tests." } | |
7 } | |
8 TestData { | |
9 TestDateFormatBasic { | |
10 Info { | |
11 Description { "Test data for format and parse :" } | |
12 } | |
13 Settings { | |
14 // options: 'format', or 'parse'. One can be omitted if this is
a 1 way test. | |
15 { | |
16 Type { "date_format" } | |
17 }, | |
18 { | |
19 Type { "date_parse" } | |
20 }, | |
21 } | |
22 Headers { "locale", "zone", "spec", "date", "str"} | |
23 // locale: locale including calendar type | |
24 // zone: time zone name, or "" to not explicitly set zone | |
25 // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG' | |
26 // date: either 'MILLIS=####' where #### is millis, | |
27 // or a calendar spec ERA=0,YEAR=1, etc.. applied to the cale
ndar type specified by the locale | |
28 // or RELATIVE_MILLIS=### where ### is a signed value which i
s added to the current millis | |
29 // or RELATIVE_ADD:DATE=1 which means that the field "DATE"
will be added by +1 relative to current time, | |
30 // and any other fields present will be set explicitly. | |
31 // str: the expected unicode string | |
32 Cases { | |
33 { | |
34 "en_US@calendar=gregorian", | |
35 "", | |
36 "DATE=SHORT,TIME=SHORT", | |
37 "ERA=1,YEAR=2007,MONTH=AUGUST,DATE=8,HOUR_OF_DAY=18,MINUTE=5
4,SECOND=0", | |
38 "8/8/07, 6:54 PM" | |
39 }, | |
40 { | |
41 "zh_TW@calendar=roc", | |
42 "", | |
43 "DATE=LONG", | |
44 "ERA=1,YEAR=98,MONTH=0,DATE=24", | |
45 "民國98年1月24日", | |
46 }, | |
47 { | |
48 //民國前2年1月24日 -> 1910-1-24 | |
49 "zh_TW@calendar=roc", | |
50 "", | |
51 "DATE=LONG", | |
52 "ERA=0,YEAR=2,MONTH=0,DATE=24", | |
53 "民國前2年1月24日", | |
54 }, | |
55 } | |
56 } | |
57 TestFormatRelative { | |
58 Info { | |
59 Description { "relative format :" } | |
60 } | |
61 Settings { | |
62 { | |
63 Type { "date_format" } | |
64 }, | |
65 } | |
66 Headers { "locale", "zone", "spec", "date", "str"} | |
67 Cases { | |
68 { | |
69 "en_US@calendar=gregorian", | |
70 "", | |
71 "DATE=RELATIVE_SHORT", | |
72 "RELATIVE_ADD:DATE=1", // one day from now | |
73 "tomorrow" | |
74 }, | |
75 { | |
76 "en_US@calendar=gregorian", | |
77 "", | |
78 "DATE=RELATIVE_SHORT", | |
79 "RELATIVE_MILLIS=0", // today | |
80 "today" | |
81 }, | |
82 { | |
83 "en_US@calendar=gregorian", | |
84 "", | |
85 "DATE=RELATIVE_SHORT", | |
86 "RELATIVE_ADD:DATE=-1", // one day before now | |
87 "yesterday" | |
88 }, | |
89 // date only, out of relative range | |
90 { | |
91 "en_US@calendar=gregorian", | |
92 "GMT", | |
93 "DATE=RELATIVE_FULL", | |
94 "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=
59,SECOND=0", | |
95 "Monday, October 8, 2012" | |
96 }, | |
97 // time only | |
98 { | |
99 "en_US@calendar=gregorian", | |
100 "GMT", | |
101 "TIME=LONG", | |
102 "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=
59,SECOND=0", | |
103 "11:59:00 PM GMT" | |
104 }, | |
105 { | |
106 "en_US@calendar=gregorian", | |
107 "GMT", | |
108 "TIME=LONG", | |
109 "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", //
one day before now at specified time | |
110 "5:00:00 PM GMT" | |
111 }, | |
112 // normal formats, combined using 'at' | |
113 { | |
114 "en_US@calendar=gregorian", | |
115 "GMT", | |
116 "DATE=RELATIVE_FULL,TIME=LONG", | |
117 "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=
59,SECOND=0", | |
118 "Monday, October 8, 2012 at 11:59:00 PM GMT" | |
119 }, | |
120 // normal formats, combined using ", " | |
121 { | |
122 "en_US@calendar=gregorian", | |
123 "GMT", | |
124 "DATE=RELATIVE_MEDIUM,TIME=SHORT", | |
125 "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=
59,SECOND=0", | |
126 "Oct 8, 2012, 11:59 PM" | |
127 }, | |
128 // formats with relative day, combined using 'at' | |
129 { | |
130 "en_US@calendar=gregorian", | |
131 "GMT", | |
132 "DATE=RELATIVE_FULL,TIME=LONG", | |
133 "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", //
one day before now at specified time | |
134 "yesterday at 5:00:00 PM GMT" | |
135 }, | |
136 // formats with relative day, combined using ", " | |
137 { | |
138 "en_US@calendar=gregorian", | |
139 "GMT", | |
140 "DATE=RELATIVE_MEDIUM,TIME=SHORT", | |
141 "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", //
one day before now at specified time | |
142 "yesterday, 5:00 PM" | |
143 }, | |
144 // normal formats that have quoted literals, combined | |
145 { | |
146 "pt@calendar=gregorian", | |
147 "GMT", | |
148 "DATE=RELATIVE_FULL,TIME=LONG", | |
149 "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=
59,SECOND=0", | |
150 "segunda-feira, 8 de outubro de 2012 23:59:00 GMT" | |
151 }, | |
152 // vi combined formats have time first | |
153 { | |
154 "vi@calendar=gregorian", | |
155 "GMT", | |
156 "DATE=RELATIVE_LONG,TIME=MEDIUM", | |
157 "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=
59,SECOND=0", | |
158 "23:59:00 Ngày 08 tháng 10 năm 2012" | |
159 }, | |
160 { | |
161 "vi@calendar=gregorian", | |
162 "GMT", | |
163 "DATE=RELATIVE_LONG,TIME=MEDIUM", | |
164 "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", //
one day before now at specified time | |
165 "17:00:00 Hôm qua" | |
166 }, | |
167 // el combines formats using hyphen | |
168 { | |
169 "el@calendar=gregorian", | |
170 "GMT", | |
171 "DATE=RELATIVE_LONG,TIME=MEDIUM", | |
172 "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=
59,SECOND=0", | |
173 "8 Οκτωβρίου 2012 - 11:59:00 μ.μ." | |
174 }, | |
175 { | |
176 "el@calendar=gregorian", | |
177 "GMT", | |
178 "DATE=RELATIVE_LONG,TIME=MEDIUM", | |
179 "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", //
one day before now at specified time | |
180 "χθες - 5:00:00 μ.μ." | |
181 }, | |
182 // other tests | |
183 { | |
184 "mt_MT@calendar=gregorian", | |
185 "", | |
186 "DATE=RELATIVE_SHORT", | |
187 "RELATIVE_ADD:DATE=1", // one day from now | |
188 "Għada" | |
189 }, | |
190 { | |
191 "mt_MT@calendar=gregorian", | |
192 "", | |
193 "DATE=RELATIVE_SHORT", | |
194 "RELATIVE_MILLIS=0", // today | |
195 "Illum" | |
196 }, | |
197 { | |
198 "mt_MT@calendar=gregorian", | |
199 "", | |
200 "DATE=RELATIVE_SHORT", | |
201 "RELATIVE_ADD:DATE=-1", // one day before now | |
202 "Ilbieraħ" | |
203 }, | |
204 { | |
205 "ru", | |
206 "", | |
207 "DATE=RELATIVE_SHORT", | |
208 "RELATIVE_ADD:DATE=-2", // 2 days ago | |
209 "позавчера" | |
210 }, | |
211 } | |
212 } | |
213 TestYearLengths { | |
214 Info { | |
215 Description { "Test data for multiple year lengths, y yy yyy yyy
y yyyyy:" } | |
216 } | |
217 Settings { | |
218 // options: 'format', or 'parse'. One can be omitted if this is
a 1 way test. | |
219 { | |
220 Type { "date_format" } | |
221 }, | |
222 // These are not round trippable, so do not parse. | |
223 // { | |
224 // Type { "date_parse" } | |
225 // }, | |
226 } | |
227 Headers { "locale", "zone", "spec", "date", "str"} | |
228 // locale: locale including calendar type | |
229 // zone: time zone name, or "" to not explicitly set zone | |
230 // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG' | |
231 // date: either 'MILLIS=####' where #### is millis, | |
232 // or a calendar spec ERA=0,YEAR=1, etc.. applied to the cale
ndar type specified by the locale | |
233 // or RELATIVE_MILLIS=### where ### is a signed value which i
s added to the current millis | |
234 // or RELATIVE_ADD:DATE=1 which means that the field "DATE"
will be added by +1 relative to current time, | |
235 // and any other fields present will be set explicitly. | |
236 // str: the expected unicode string | |
237 | |
238 // from CLDR UTS 35: | |
239 //Year y yy yyy yyyy yyyyy | |
240 | |
241 Cases { | |
242 //AD 1 1 01 001 0001 00001 | |
243 { | |
244 "en_US@calendar=gregorian", | |
245 "", | |
246 "PATTERN=G y", | |
247 "YEAR=1", | |
248 "AD 1" | |
249 }, | |
250 { | |
251 "en_US@calendar=gregorian", | |
252 "", | |
253 "PATTERN=G yy", | |
254 "YEAR=1", | |
255 "AD 01" | |
256 }, | |
257 { | |
258 "en_US@calendar=gregorian", | |
259 "", | |
260 "PATTERN=G yyy", | |
261 "YEAR=1", | |
262 "AD 001" | |
263 }, | |
264 { | |
265 "en_US@calendar=gregorian", | |
266 "", | |
267 "PATTERN=G yyyy", | |
268 "YEAR=1", | |
269 "AD 0001" | |
270 }, | |
271 { | |
272 "en_US@calendar=gregorian", | |
273 "", | |
274 "PATTERN=G yyyyy", | |
275 "YEAR=1", | |
276 "AD 00001" | |
277 }, | |
278 //AD 12 12 12 012 0012 00012 | |
279 { | |
280 "en_US@calendar=gregorian", | |
281 "", | |
282 "PATTERN=G y", | |
283 "YEAR=12", | |
284 "AD 12" | |
285 }, | |
286 { | |
287 "en_US@calendar=gregorian", | |
288 "", | |
289 "PATTERN=G yy", | |
290 "YEAR=12", | |
291 "AD 12" | |
292 }, | |
293 { | |
294 "en_US@calendar=gregorian", | |
295 "", | |
296 "PATTERN=G yyy", | |
297 "YEAR=12", | |
298 "AD 012" | |
299 }, | |
300 { | |
301 "en_US@calendar=gregorian", | |
302 "", | |
303 "PATTERN=G yyyy", | |
304 "YEAR=12", | |
305 "AD 0012" | |
306 }, | |
307 { | |
308 "en_US@calendar=gregorian", | |
309 "", | |
310 "PATTERN=G yyyyy", | |
311 "YEAR=12", | |
312 "AD 00012" | |
313 }, | |
314 //AD 123 123 23 123 0123 00123 | |
315 { | |
316 "en_US@calendar=gregorian", | |
317 "", | |
318 "PATTERN=G y", | |
319 "YEAR=123", | |
320 "AD 123" | |
321 }, | |
322 { | |
323 "en_US@calendar=gregorian", | |
324 "", | |
325 "PATTERN=G yy", | |
326 "YEAR=123", | |
327 "AD 23" | |
328 }, | |
329 { | |
330 "en_US@calendar=gregorian", | |
331 "", | |
332 "PATTERN=G yyy", | |
333 "YEAR=123", | |
334 "AD 123" | |
335 }, | |
336 { | |
337 "en_US@calendar=gregorian", | |
338 "", | |
339 "PATTERN=G yyyy", | |
340 "YEAR=123", | |
341 "AD 0123" | |
342 }, | |
343 { | |
344 "en_US@calendar=gregorian", | |
345 "", | |
346 "PATTERN=G yyyyy", | |
347 "YEAR=123", | |
348 "AD 00123" | |
349 }, | |
350 //AD 1234 1234 34 1234 1234 01234 | |
351 { | |
352 "en_US@calendar=gregorian", | |
353 "", | |
354 "PATTERN=G y", | |
355 "YEAR=1234", | |
356 "AD 1234" | |
357 }, | |
358 { | |
359 "en_US@calendar=gregorian", | |
360 "", | |
361 "PATTERN=G yy", | |
362 "YEAR=1234", | |
363 "AD 34" | |
364 }, | |
365 { | |
366 "en_US@calendar=gregorian", | |
367 "", | |
368 "PATTERN=G yyy", | |
369 "YEAR=1234", | |
370 "AD 1234" | |
371 }, | |
372 { | |
373 "en_US@calendar=gregorian", | |
374 "", | |
375 "PATTERN=G yyyy", | |
376 "YEAR=1234", | |
377 "AD 1234" | |
378 }, | |
379 { | |
380 "en_US@calendar=gregorian", | |
381 "", | |
382 "PATTERN=G yyyyy", | |
383 "YEAR=1234", | |
384 "AD 01234" | |
385 }, | |
386 //AD 12345 12345 45 12345 12345 12345 | |
387 { | |
388 "en_US@calendar=gregorian", | |
389 "", | |
390 "PATTERN=G y", | |
391 "YEAR=12345", | |
392 "AD 12345" | |
393 }, | |
394 { | |
395 "en_US@calendar=gregorian", | |
396 "", | |
397 "PATTERN=G yy", | |
398 "YEAR=12345", | |
399 "AD 45" | |
400 }, | |
401 { | |
402 "en_US@calendar=gregorian", | |
403 "", | |
404 "PATTERN=G yyy", | |
405 "YEAR=12345", | |
406 "AD 12345" | |
407 }, | |
408 { | |
409 "en_US@calendar=gregorian", | |
410 "", | |
411 "PATTERN=G yyyy", | |
412 "YEAR=12345", | |
413 "AD 12345" | |
414 }, | |
415 { | |
416 "en_US@calendar=gregorian", | |
417 "", | |
418 "PATTERN=G yyyyy", | |
419 "YEAR=12345", | |
420 "AD 12345" | |
421 }, | |
422 } | |
423 } | |
424 TestConsistentPivot { | |
425 Info { | |
426 Description { "Test consistent pivot (parse/format) for multiple
year lengths, y yy yyy yyyy yyyyy:" } | |
427 } | |
428 Settings { | |
429 // options: 'format', or 'parse'. One can be omitted if this is
a 1 way test. | |
430 { | |
431 Type { "date_format" } | |
432 }, | |
433 { | |
434 Type { "date_parse" } | |
435 }, | |
436 } | |
437 Headers { "locale", "zone", "spec", "date", "str"} | |
438 // locale: locale including calendar type | |
439 // zone: time zone name, or "" to not explicitly set zone | |
440 // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG' | |
441 // date: either 'MILLIS=####' where #### is millis, | |
442 // or a calendar spec ERA=0,YEAR=1, etc.. applied to the cale
ndar type specified by the locale | |
443 // or RELATIVE_MILLIS=### where ### is a signed value which i
s added to the current millis | |
444 // or RELATIVE_ADD:DATE=1 which means that the field "DATE"
will be added by +1 relative to current time, | |
445 // and any other fields present will be set explicitly. | |
446 // str: the expected unicode string | |
447 | |
448 // from CLDR UTS 35: | |
449 //Year y yy yyy yyyy yyyyy | |
450 | |
451 Cases { | |
452 //AD 1 1 01 001 0001 00001 | |
453 { | |
454 "en_US@calendar=gregorian", | |
455 "", | |
456 "PATTERN=G y", | |
457 "YEAR=2008", | |
458 "AD 2008" | |
459 }, | |
460 { | |
461 "en_US@calendar=gregorian", | |
462 "", | |
463 "PATTERN=G yy", | |
464 "YEAR=2008", | |
465 "AD 08" | |
466 }, | |
467 { | |
468 "en_US@calendar=gregorian", | |
469 "", | |
470 "PATTERN=G yyy", | |
471 "YEAR=2008", | |
472 "AD 2008" | |
473 }, | |
474 { | |
475 "en_US@calendar=gregorian", | |
476 "", | |
477 "PATTERN=G yyyy", | |
478 "YEAR=2008", | |
479 "AD 2008" | |
480 }, | |
481 { | |
482 "en_US@calendar=gregorian", | |
483 "", | |
484 "PATTERN=G yyyyy", | |
485 "YEAR=2008", | |
486 "AD 02008" | |
487 }, | |
488 | |
489 // Japanese | |
490 { | |
491 "en_US@calendar=japanese", | |
492 "", | |
493 "PATTERN=G y", | |
494 "YEAR=8", | |
495 "Heisei 8" | |
496 }, | |
497 { | |
498 "en_US@calendar=japanese", | |
499 "", | |
500 "PATTERN=G yy", | |
501 "YEAR=8", | |
502 "Heisei 08" | |
503 }, | |
504 { | |
505 "en_US@calendar=japanese", | |
506 "", | |
507 "PATTERN=G yyy", | |
508 "YEAR=8", | |
509 "Heisei 008" | |
510 }, | |
511 { | |
512 "en_US@calendar=japanese", | |
513 "", | |
514 "PATTERN=G yyyy", | |
515 "YEAR=8", | |
516 "Heisei 0008" | |
517 }, | |
518 { | |
519 "en_US@calendar=japanese", | |
520 "", | |
521 "PATTERN=G yyyyy", | |
522 "YEAR=8", | |
523 "Heisei 00008" | |
524 }, | |
525 | |
526 } | |
527 } | |
528 TestHebrew{ | |
529 Info { | |
530 Description { "Test Hebrew calendar:" } | |
531 } | |
532 Settings { | |
533 // options: 'format', or 'parse'. One can be omitted if this is
a 1 way test. | |
534 { | |
535 Type { "date_format" } | |
536 }, | |
537 } | |
538 Headers { "locale", "zone", "spec", "date", "str"} | |
539 // locale: locale including calendar type | |
540 // zone: time zone name, or "" to not explicitly set zone | |
541 // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG' | |
542 // date: either 'MILLIS=####' where #### is millis, | |
543 // or a calendar spec ERA=0,YEAR=1, etc.. applied to the cale
ndar type specified by the locale | |
544 // or RELATIVE_MILLIS=### where ### is a signed value which i
s added to the current millis | |
545 // or RELATIVE_ADD:DATE=1 which means that the field "DATE"
will be added by +1 relative to current time, | |
546 // and any other fields present will be set explicitly. | |
547 // str: the expected unicode string | |
548 | |
549 Cases { | |
550 { | |
551 "en_US@calendar=hebrew", | |
552 "", | |
553 "DATE=FULL,TIME=FULL", | |
554 "MILLIS=3076424179200000", | |
555 "Friday, 3 Heshvan 103217 at 12:00:00 AM GMT-08:00" | |
556 }, | |
557 } | |
558 } | |
559 TestMoreDateParse { | |
560 Info { | |
561 Description { "Additional date parse tests (may not | |
562 round/trip to format.)" } | |
563 } | |
564 Settings { | |
565 // options: 'format', or 'parse'. One can be omitted if this is
a 1 way test. | |
566 { | |
567 Type { "date_parse" } | |
568 }, | |
569 } | |
570 Headers { "locale", "zone", "spec", "date", "str"} | |
571 // locale: locale including calendar type | |
572 // zone: time zone name, or "" to not explicitly set zone | |
573 // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG' | |
574 // date: either 'MILLIS=####' where #### is millis, | |
575 // or a calendar spec ERA=0,YEAR=1, etc.. applied to the cale
ndar type specified by the locale | |
576 // or RELATIVE_MILLIS=### where ### is a signed value which i
s added to the current millis | |
577 // or RELATIVE_ADD:DATE=1 which means that the field "DATE"
will be added by +1 relative to current time, | |
578 // and any other fields present will be set explicitly. | |
579 // str: the expected unicode string | |
580 | |
581 Cases { | |
582 { | |
583 "en_US@calendar=gregorian", | |
584 "", | |
585 "PATTERN=YYYYHHmmssEEEww", | |
586 "YEAR=1999,HOUR_OF_DAY=4,MINUTE=5,SECOND=6,DAY_OF_WEEK=2,WEE
K_OF_YEAR=4", | |
587 // won't roundtrip. | |
588 "1998040506MON56" | |
589 } | |
590 } | |
591 } | |
592 } | |
593 } | |
OLD | NEW |