]> git.saurik.com Git - apple/icu.git/blob - icuSources/test/testdata/format.txt
ICU-400.37.tar.gz
[apple/icu.git] / icuSources / test / testdata / format.txt
1 // Copyright (c) 2007-2008 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","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 }
383 }
384 }