]> git.saurik.com Git - apple/icu.git/blame - icuSources/test/testdata/format.txt
ICU-491.11.1.tar.gz
[apple/icu.git] / icuSources / test / testdata / format.txt
CommitLineData
729e4ab9 1// Copyright (c) 2007-2010 International Business Machines
46f4442e
A
2// Corporation and others. All Rights Reserved.
3format: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","spec", "date", "str"}
23 // locale: locale including calendar type
24 // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG'
25 // date: either 'MILLIS=####' where #### is millis,
26 // or a calendar spec ERA=0,YEAR=1, etc.. applied to the calendar type specified by the locale
27 // or RELATIVE_MILLIS=### where ### is a signed value which is added to the current millis
28 // or RELATIVE_ADD:DATE=1 which means that the field "DATE" will be added by +1 relative to current time
29 // str: the expected unicode string
30 Cases {
31 {
32 "en_US@calendar=gregorian",
33 "DATE=SHORT,TIME=SHORT",
34 "ERA=1,YEAR=2007,MONTH=AUGUST,DATE=8,HOUR_OF_DAY=18,MINUTE=54,SECOND=0",
35 "8/8/07 6:54 PM"
36 },
37 {
38 "zh_TW@calendar=roc",
39 "DATE=LONG",
40 "ERA=1,YEAR=98,MONTH=0,DATE=24",
41 "民國98年1月24日",
42 },
43 {
44 //民國前2年1月24日 -> 1910-1-24
45 "zh_TW@calendar=roc",
46 "DATE=LONG",
47 "ERA=0,YEAR=2,MONTH=0,DATE=24",
48 "民國前2年1月24日",
49 },
50 }
51 }
52 TestFormatRelative {
53 Info {
54 Description { "relative format :" }
55 }
56 Settings {
57 {
58 Type { "date_format" }
59 },
60 }
61 Headers { "locale","spec", "date", "str"}
62 Cases {
63 {
64 "en_US@calendar=gregorian",
65 "DATE=RELATIVE_SHORT",
66 "RELATIVE_ADD:DATE=1", // one day from now
67 "Tomorrow"
68 },
69 {
70 "en_US@calendar=gregorian",
71 "DATE=RELATIVE_SHORT",
72 "RELATIVE_MILLIS=0", // today
73 "Today"
74 },
75 {
76 "en_US@calendar=gregorian",
77 "DATE=RELATIVE_SHORT",
78 "RELATIVE_ADD:DATE=-1", // one day before now
79 "Yesterday"
80 },
81 {
82 "mt_MT@calendar=gregorian",
83 "DATE=RELATIVE_SHORT",
84 "RELATIVE_ADD:DATE=1", // one day from now
85 "Għada"
86 },
87 {
88 "mt_MT@calendar=gregorian",
89 "DATE=RELATIVE_SHORT",
90 "RELATIVE_MILLIS=0", // today
91 "Illum"
92 },
93 {
94 "mt_MT@calendar=gregorian",
95 "DATE=RELATIVE_SHORT",
96 "RELATIVE_ADD:DATE=-1", // one day before now
97 "Lbieraħ"
98 },
99 {
100 "ru",
101 "DATE=RELATIVE_SHORT",
102 "RELATIVE_ADD:DATE=-2", // 2 days ago
103 "Позавчера"
104 },
105 }
106 }
107 TestYearLengths {
108 Info {
109 Description { "Test data for multiple year lengths, y yy yyy yyyy yyyyy:" }
110 }
111 Settings {
112 // options: 'format', or 'parse'. One can be omitted if this is a 1 way test.
113 {
114 Type { "date_format" }
115 },
116// These are not round trippable, so do not parse.
117// {
118// Type { "date_parse" }
119// },
120 }
121 Headers { "locale","spec", "date", "str"}
122 // locale: locale including calendar type
123 // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG'
124 // date: either 'MILLIS=####' where #### is millis,
125 // or a calendar spec ERA=0,YEAR=1, etc.. applied to the calendar type specified by the locale
126 // or RELATIVE_MILLIS=### where ### is a signed value which is added to the current millis
127 // or RELATIVE_ADD:DATE=1 which means that the field "DATE" will be added by +1 relative to current time
128 // str: the expected unicode string
129
130// from CLDR UTS 35:
131//Year y yy yyy yyyy yyyyy
132
133 Cases {
134//AD 1 1 01 001 0001 00001
135 {
136 "en_US@calendar=gregorian",
137 "PATTERN=G y",
138 "YEAR=1",
139 "AD 1"
140 },
141 {
142 "en_US@calendar=gregorian",
143 "PATTERN=G yy",
144 "YEAR=1",
145 "AD 01"
146 },
147 {
148 "en_US@calendar=gregorian",
149 "PATTERN=G yyy",
150 "YEAR=1",
151 "AD 001"
152 },
153 {
154 "en_US@calendar=gregorian",
155 "PATTERN=G yyyy",
156 "YEAR=1",
157 "AD 0001"
158 },
159 {
160 "en_US@calendar=gregorian",
161 "PATTERN=G yyyyy",
162 "YEAR=1",
163 "AD 00001"
164 },
165//AD 12 12 12 012 0012 00012
166 {
167 "en_US@calendar=gregorian",
168 "PATTERN=G y",
169 "YEAR=12",
170 "AD 12"
171 },
172 {
173 "en_US@calendar=gregorian",
174 "PATTERN=G yy",
175 "YEAR=12",
176 "AD 12"
177 },
178 {
179 "en_US@calendar=gregorian",
180 "PATTERN=G yyy",
181 "YEAR=12",
182 "AD 012"
183 },
184 {
185 "en_US@calendar=gregorian",
186 "PATTERN=G yyyy",
187 "YEAR=12",
188 "AD 0012"
189 },
190 {
191 "en_US@calendar=gregorian",
192 "PATTERN=G yyyyy",
193 "YEAR=12",
194 "AD 00012"
195 },
196//AD 123 123 23 123 0123 00123
197 {
198 "en_US@calendar=gregorian",
199 "PATTERN=G y",
200 "YEAR=123",
201 "AD 123"
202 },
203 {
204 "en_US@calendar=gregorian",
205 "PATTERN=G yy",
206 "YEAR=123",
207 "AD 23"
208 },
209 {
210 "en_US@calendar=gregorian",
211 "PATTERN=G yyy",
212 "YEAR=123",
213 "AD 123"
214 },
215 {
216 "en_US@calendar=gregorian",
217 "PATTERN=G yyyy",
218 "YEAR=123",
219 "AD 0123"
220 },
221 {
222 "en_US@calendar=gregorian",
223 "PATTERN=G yyyyy",
224 "YEAR=123",
225 "AD 00123"
226 },
227//AD 1234 1234 34 1234 1234 01234
228 {
229 "en_US@calendar=gregorian",
230 "PATTERN=G y",
231 "YEAR=1234",
232 "AD 1234"
233 },
234 {
235 "en_US@calendar=gregorian",
236 "PATTERN=G yy",
237 "YEAR=1234",
238 "AD 34"
239 },
240 {
241 "en_US@calendar=gregorian",
242 "PATTERN=G yyy",
243 "YEAR=1234",
244 "AD 1234"
245 },
246 {
247 "en_US@calendar=gregorian",
248 "PATTERN=G yyyy",
249 "YEAR=1234",
250 "AD 1234"
251 },
252 {
253 "en_US@calendar=gregorian",
254 "PATTERN=G yyyyy",
255 "YEAR=1234",
256 "AD 01234"
257 },
258//AD 12345 12345 45 12345 12345 12345
259 {
260 "en_US@calendar=gregorian",
261 "PATTERN=G y",
262 "YEAR=12345",
263 "AD 12345"
264 },
265 {
266 "en_US@calendar=gregorian",
267 "PATTERN=G yy",
268 "YEAR=12345",
269 "AD 45"
270 },
271 {
272 "en_US@calendar=gregorian",
273 "PATTERN=G yyy",
274 "YEAR=12345",
275 "AD 12345"
276 },
277 {
278 "en_US@calendar=gregorian",
279 "PATTERN=G yyyy",
280 "YEAR=12345",
281 "AD 12345"
282 },
283 {
284 "en_US@calendar=gregorian",
285 "PATTERN=G yyyyy",
286 "YEAR=12345",
287 "AD 12345"
288 },
289 }
290 }
291 TestConsistentPivot {
292 Info {
293 Description { "Test consistent pivot (parse/format) for multiple year lengths, y yy yyy yyyy yyyyy:" }
294 }
295 Settings {
296 // options: 'format', or 'parse'. One can be omitted if this is a 1 way test.
297 {
298 Type { "date_format" }
299 },
300 {
301 Type { "date_parse" }
302 },
303 }
304 Headers { "locale","spec", "date", "str"}
305 // locale: locale including calendar type
306 // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG'
307 // date: either 'MILLIS=####' where #### is millis,
308 // or a calendar spec ERA=0,YEAR=1, etc.. applied to the calendar type specified by the locale
309 // or RELATIVE_MILLIS=### where ### is a signed value which is added to the current millis
310 // or RELATIVE_ADD:DATE=1 which means that the field "DATE" will be added by +1 relative to current time
311 // str: the expected unicode string
312
313// from CLDR UTS 35:
314//Year y yy yyy yyyy yyyyy
315
316 Cases {
317//AD 1 1 01 001 0001 00001
318 {
319 "en_US@calendar=gregorian",
320 "PATTERN=G y",
321 "YEAR=2008",
322 "AD 2008"
323 },
324 {
325 "en_US@calendar=gregorian",
326 "PATTERN=G yy",
327 "YEAR=2008",
328 "AD 08"
329 },
330 {
331 "en_US@calendar=gregorian",
332 "PATTERN=G yyy",
333 "YEAR=2008",
334 "AD 2008"
335 },
336 {
337 "en_US@calendar=gregorian",
338 "PATTERN=G yyyy",
339 "YEAR=2008",
340 "AD 2008"
341 },
342 {
343 "en_US@calendar=gregorian",
344 "PATTERN=G yyyyy",
345 "YEAR=2008",
346 "AD 02008"
347 },
348
349 // Japanese
350 {
351 "en_US@calendar=japanese",
352 "PATTERN=G y",
353 "YEAR=8",
354 "Heisei 8"
355 },
356 {
357 "en_US@calendar=japanese",
358 "PATTERN=G yy",
359 "YEAR=8",
360 "Heisei 08"
361 },
362 {
363 "en_US@calendar=japanese",
364 "PATTERN=G yyy",
365 "YEAR=8",
366 "Heisei 008"
367 },
368 {
369 "en_US@calendar=japanese",
370 "PATTERN=G yyyy",
371 "YEAR=8",
372 "Heisei 0008"
373 },
374 {
375 "en_US@calendar=japanese",
376 "PATTERN=G yyyyy",
377 "YEAR=8",
378 "Heisei 00008"
379 },
380
381 }
382 }
729e4ab9
A
383 TestHebrew{
384 Info {
385 Description { "Test Hebrew calendar:" }
386 }
387 Settings {
388 // options: 'format', or 'parse'. One can be omitted if this is a 1 way test.
389 {
390 Type { "date_format" }
391 },
392 }
393 Headers { "locale","spec", "date", "str"}
394 // locale: locale including calendar type
395 // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG'
396 // date: either 'MILLIS=####' where #### is millis,
397 // or a calendar spec ERA=0,YEAR=1, etc.. applied to the calendar type specified by the locale
398 // or RELATIVE_MILLIS=### where ### is a signed value which is added to the current millis
399 // or RELATIVE_ADD:DATE=1 which means that the field "DATE" will be added by +1 relative to current time
400 // str: the expected unicode string
401
402 Cases {
403 {
404 "en_US@calendar=hebrew",
405 "DATE=FULL,TIME=FULL",
406 "MILLIS=3076424179200000",
407 "Friday, Heshvan 3, 103217 12:00:00 AM GMT-08:00"
408 },
409 }
410 }
411 TestMoreDateParse {
412 Info {
413 Description { "Additional date parse tests (may not
414 round/trip to format.)" }
415 }
416 Settings {
417 // options: 'format', or 'parse'. One can be omitted if this is a 1 way test.
418 {
419 Type { "date_parse" }
420 },
421 }
422 Headers { "locale","spec", "date", "str"}
423 // locale: locale including calendar type
424 // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG'
425 // date: either 'MILLIS=####' where #### is millis,
426 // or a calendar spec ERA=0,YEAR=1, etc.. applied to the calendar type specified by the locale
427 // or RELATIVE_MILLIS=### where ### is a signed value which is added to the current millis
428 // or RELATIVE_ADD:DATE=1 which means that the field "DATE" will be added by +1 relative to current time
429 // str: the expected unicode string
430
431 Cases {
432 {
433 "en_US@calendar=gregorian",
434 "PATTERN=YYYYHHmmssEEEww",
435 "YEAR=1999,HOUR_OF_DAY=4,MINUTE=5,SECOND=6,DAY_OF_WEEK=2,WEEK_OF_YEAR=4",
436 // won't roundtrip.
437 "1998040506MON56"
438 }
439 }
440 }
441 }
46f4442e 442}