diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 01:47:29 +0000 |
commit | 0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d (patch) | |
tree | a31f07c9bcca9d56ce61e9a1ffd30ef350d513aa /intl/icu/source/test/testdata/format.txt | |
parent | Initial commit. (diff) | |
download | firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.tar.xz firefox-esr-0ebf5bdf043a27fd3dfb7f92e0cb63d88954c44d.zip |
Adding upstream version 115.8.0esr.upstream/115.8.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'intl/icu/source/test/testdata/format.txt')
-rw-r--r-- | intl/icu/source/test/testdata/format.txt | 595 |
1 files changed, 595 insertions, 0 deletions
diff --git a/intl/icu/source/test/testdata/format.txt b/intl/icu/source/test/testdata/format.txt new file mode 100644 index 0000000000..c6121a1c57 --- /dev/null +++ b/intl/icu/source/test/testdata/format.txt @@ -0,0 +1,595 @@ +// Copyright (C) 2016 and later: Unicode, Inc. and others. +// License & terms of use: http://www.unicode.org/copyright.html +// Copyright (c) 2007-2015 International Business Machines +// Corporation and others. All Rights Reserved. +format:table(nofallback) { + Info { + Description { "These are the data driven format tests" } + LongDescription { "Data for data driven format tests." } + } + TestData { + TestDateFormatBasic { + Info { + Description { "Test data for format and parse :" } + } + Settings { + // options: 'format', or 'parse'. One can be omitted if this is a 1 way test. + { + Type { "date_format" } + }, + { + Type { "date_parse" } + }, + } + Headers { "locale", "zone", "spec", "date", "str"} + // locale: locale including calendar type + // zone: time zone name, or "" to not explicitly set zone + // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG' + // date: either 'MILLIS=####' where #### is millis, + // or a calendar spec ERA=0,YEAR=1, etc.. applied to the calendar type specified by the locale + // or RELATIVE_MILLIS=### where ### is a signed value which is added to the current millis + // or RELATIVE_ADD:DATE=1 which means that the field "DATE" will be added by +1 relative to current time, + // and any other fields present will be set explicitly. + // str: the expected unicode string + Cases { + { + "en_US@calendar=gregorian", + "", + "DATE=SHORT,TIME=SHORT", + "ERA=1,YEAR=2007,MONTH=AUGUST,DATE=8,HOUR_OF_DAY=18,MINUTE=54,SECOND=0", + "8/8/07, 6:54 PM" + }, + { + "zh_TW@calendar=roc", + "", + "DATE=LONG", + "ERA=1,YEAR=98,MONTH=0,DATE=24", + "民國98年1月24日", + }, + { + //民國前2年1月24日 -> 1910-1-24 + "zh_TW@calendar=roc", + "", + "DATE=LONG", + "ERA=0,YEAR=2,MONTH=0,DATE=24", + "民國前2年1月24日", + }, + } + } + TestFormatRelative { + Info { + Description { "relative format :" } + } + Settings { + { + Type { "date_format" } + }, + } + Headers { "locale", "zone", "spec", "date", "str"} + Cases { + { + "en_US@calendar=gregorian", + "", + "DATE=RELATIVE_SHORT", + "RELATIVE_ADD:DATE=1", // one day from now + "tomorrow" + }, + { + "en_US@calendar=gregorian", + "", + "DATE=RELATIVE_SHORT", + "RELATIVE_MILLIS=0", // today + "today" + }, + { + "en_US@calendar=gregorian", + "", + "DATE=RELATIVE_SHORT", + "RELATIVE_ADD:DATE=-1", // one day before now + "yesterday" + }, + // date only, out of relative range + { + "en_US@calendar=gregorian", + "GMT", + "DATE=RELATIVE_FULL", + "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=59,SECOND=0", + "Monday, October 8, 2012" + }, + // time only + { + "en_US@calendar=gregorian", + "GMT", + "TIME=LONG", + "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=59,SECOND=0", + "11:59:00 PM GMT" + }, + { + "en_US@calendar=gregorian", + "GMT", + "TIME=LONG", + "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", // one day before now at specified time + "5:00:00 PM GMT" + }, + // normal formats, combined using 'at' + { + "en_US@calendar=gregorian", + "GMT", + "DATE=RELATIVE_FULL,TIME=LONG", + "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=59,SECOND=0", + "Monday, October 8, 2012, 11:59:00 PM GMT" + }, + // normal formats, combined using ", " + { + "en_US@calendar=gregorian", + "GMT", + "DATE=RELATIVE_MEDIUM,TIME=SHORT", + "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=59,SECOND=0", + "Oct 8, 2012, 11:59 PM" + }, + // formats with relative day, combined using 'at' + { + "en_US@calendar=gregorian", + "GMT", + "DATE=RELATIVE_FULL,TIME=LONG", + "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", // one day before now at specified time + "yesterday, 5:00:00 PM GMT" + }, + // formats with relative day, combined using ", " + { + "en_US@calendar=gregorian", + "GMT", + "DATE=RELATIVE_MEDIUM,TIME=SHORT", + "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", // one day before now at specified time + "yesterday, 5:00 PM" + }, + // normal formats that have quoted literals, combined + { + "pt@calendar=gregorian", + "GMT", + "DATE=RELATIVE_FULL,TIME=LONG", + "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=59,SECOND=0", + "segunda-feira, 8 de outubro de 2012 23:59:00 GMT" + }, + // vi combined formats have time first + { + "vi@calendar=gregorian", + "GMT", + "DATE=RELATIVE_LONG,TIME=MEDIUM", + "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=59,SECOND=0", + "23:59:00 8 tháng 10, 2012" + }, + { + "vi@calendar=gregorian", + "GMT", + "DATE=RELATIVE_LONG,TIME=MEDIUM", + "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", // one day before now at specified time + "17:00:00 Hôm qua" + }, + // el combines formats using hyphen + { + "el@calendar=gregorian", + "GMT", + "DATE=RELATIVE_LONG,TIME=MEDIUM", + "ERA=1,YEAR=2012,MONTH=OCTOBER,DATE=8,HOUR_OF_DAY=23,MINUTE=59,SECOND=0", + "8 Οκτωβρίου 2012 - 11:59:00 μ.μ." + }, + { + "el@calendar=gregorian", + "GMT", + "DATE=RELATIVE_LONG,TIME=MEDIUM", + "RELATIVE_ADD:DATE=-1,HOUR_OF_DAY=17,MINUTE=0,SECOND=0", // one day before now at specified time + "χθες - 5:00:00 μ.μ." + }, + // other tests + { + "mt_MT@calendar=gregorian", + "", + "DATE=RELATIVE_SHORT", + "RELATIVE_ADD:DATE=1", // one day from now + "għada" + }, + { + "mt_MT@calendar=gregorian", + "", + "DATE=RELATIVE_SHORT", + "RELATIVE_MILLIS=0", // today + "illum" + }, + { + "mt_MT@calendar=gregorian", + "", + "DATE=RELATIVE_SHORT", + "RELATIVE_ADD:DATE=-1", // one day before now + "lbieraħ" + }, + { + "ru", + "", + "DATE=RELATIVE_SHORT", + "RELATIVE_ADD:DATE=-2", // 2 days ago + "позавчера" + }, + } + } + TestYearLengths { + Info { + Description { "Test data for multiple year lengths, y yy yyy yyyy yyyyy:" } + } + Settings { + // options: 'format', or 'parse'. One can be omitted if this is a 1 way test. + { + Type { "date_format" } + }, +// These are not round trippable, so do not parse. +// { +// Type { "date_parse" } +// }, + } + Headers { "locale", "zone", "spec", "date", "str"} + // locale: locale including calendar type + // zone: time zone name, or "" to not explicitly set zone + // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG' + // date: either 'MILLIS=####' where #### is millis, + // or a calendar spec ERA=0,YEAR=1, etc.. applied to the calendar type specified by the locale + // or RELATIVE_MILLIS=### where ### is a signed value which is added to the current millis + // or RELATIVE_ADD:DATE=1 which means that the field "DATE" will be added by +1 relative to current time, + // and any other fields present will be set explicitly. + // str: the expected unicode string + +// from CLDR UTS 35: +//Year y yy yyy yyyy yyyyy + + Cases { +//AD 1 1 01 001 0001 00001 + { + "en_US@calendar=gregorian", + "", + "PATTERN=G y", + "YEAR=1", + "AD 1" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yy", + "YEAR=1", + "AD 01" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyy", + "YEAR=1", + "AD 001" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyy", + "YEAR=1", + "AD 0001" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyyy", + "YEAR=1", + "AD 00001" + }, +//AD 12 12 12 012 0012 00012 + { + "en_US@calendar=gregorian", + "", + "PATTERN=G y", + "YEAR=12", + "AD 12" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yy", + "YEAR=12", + "AD 12" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyy", + "YEAR=12", + "AD 012" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyy", + "YEAR=12", + "AD 0012" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyyy", + "YEAR=12", + "AD 00012" + }, +//AD 123 123 23 123 0123 00123 + { + "en_US@calendar=gregorian", + "", + "PATTERN=G y", + "YEAR=123", + "AD 123" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yy", + "YEAR=123", + "AD 23" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyy", + "YEAR=123", + "AD 123" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyy", + "YEAR=123", + "AD 0123" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyyy", + "YEAR=123", + "AD 00123" + }, +//AD 1234 1234 34 1234 1234 01234 + { + "en_US@calendar=gregorian", + "", + "PATTERN=G y", + "YEAR=1234", + "AD 1234" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yy", + "YEAR=1234", + "AD 34" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyy", + "YEAR=1234", + "AD 1234" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyy", + "YEAR=1234", + "AD 1234" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyyy", + "YEAR=1234", + "AD 01234" + }, +//AD 12345 12345 45 12345 12345 12345 + { + "en_US@calendar=gregorian", + "", + "PATTERN=G y", + "YEAR=12345", + "AD 12345" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yy", + "YEAR=12345", + "AD 45" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyy", + "YEAR=12345", + "AD 12345" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyy", + "YEAR=12345", + "AD 12345" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyyy", + "YEAR=12345", + "AD 12345" + }, + } + } + TestConsistentPivot { + Info { + Description { "Test consistent pivot (parse/format) for multiple year lengths, y yy yyy yyyy yyyyy:" } + } + Settings { + // options: 'format', or 'parse'. One can be omitted if this is a 1 way test. + { + Type { "date_format" } + }, + { + Type { "date_parse" } + }, + } + Headers { "locale", "zone", "spec", "date", "str"} + // locale: locale including calendar type + // zone: time zone name, or "" to not explicitly set zone + // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG' + // date: either 'MILLIS=####' where #### is millis, + // or a calendar spec ERA=0,YEAR=1, etc.. applied to the calendar type specified by the locale + // or RELATIVE_MILLIS=### where ### is a signed value which is added to the current millis + // or RELATIVE_ADD:DATE=1 which means that the field "DATE" will be added by +1 relative to current time, + // and any other fields present will be set explicitly. + // str: the expected unicode string + +// from CLDR UTS 35: +//Year y yy yyy yyyy yyyyy + + Cases { +//AD 1 1 01 001 0001 00001 + { + "en_US@calendar=gregorian", + "", + "PATTERN=G y", + "YEAR=2008", + "AD 2008" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yy", + "YEAR=2008", + "AD 08" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyy", + "YEAR=2008", + "AD 2008" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyy", + "YEAR=2008", + "AD 2008" + }, + { + "en_US@calendar=gregorian", + "", + "PATTERN=G yyyyy", + "YEAR=2008", + "AD 02008" + }, + + // Japanese +// { +// "en_US@calendar=japanese", +// "", +// "PATTERN=G y", +// "YEAR=8", +// "Heisei 8" +// }, +// { +// "en_US@calendar=japanese", +// "", +// "PATTERN=G yy", +// "YEAR=8", +// "Heisei 08" +// }, +// { +// "en_US@calendar=japanese", +// "", +// "PATTERN=G yyy", +// "YEAR=8", +// "Heisei 008" +// }, +// { +// "en_US@calendar=japanese", +// "", +// "PATTERN=G yyyy", +// "YEAR=8", +// "Heisei 0008" +// }, +// { +// "en_US@calendar=japanese", +// "", +// "PATTERN=G yyyyy", +// "YEAR=8", +// "Heisei 00008" +// }, + + } + } + TestHebrew{ + Info { + Description { "Test Hebrew calendar:" } + } + Settings { + // options: 'format', or 'parse'. One can be omitted if this is a 1 way test. + { + Type { "date_format" } + }, + } + Headers { "locale", "zone", "spec", "date", "str"} + // locale: locale including calendar type + // zone: time zone name, or "" to not explicitly set zone + // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG' + // date: either 'MILLIS=####' where #### is millis, + // or a calendar spec ERA=0,YEAR=1, etc.. applied to the calendar type specified by the locale + // or RELATIVE_MILLIS=### where ### is a signed value which is added to the current millis + // or RELATIVE_ADD:DATE=1 which means that the field "DATE" will be added by +1 relative to current time, + // and any other fields present will be set explicitly. + // str: the expected unicode string + + Cases { + { + "en_US@calendar=hebrew", + "", + "DATE=FULL,TIME=FULL", + "MILLIS=3076424179200000", + "Friday, 3 Heshvan 103217 at 12:00:00 AM GMT-08:00" + }, + } + } + TestMoreDateParse { + Info { + Description { "Additional date parse tests (may not + round/trip to format.)" } + } + Settings { + // options: 'format', or 'parse'. One can be omitted if this is a 1 way test. + { + Type { "date_parse" } + }, + } + Headers { "locale", "zone", "spec", "date", "str"} + // locale: locale including calendar type + // zone: time zone name, or "" to not explicitly set zone + // spec: either 'PATTERN=y mm h' etc, or 'DATE=SHORT,TIME=LONG' + // date: either 'MILLIS=####' where #### is millis, + // or a calendar spec ERA=0,YEAR=1, etc.. applied to the calendar type specified by the locale + // or RELATIVE_MILLIS=### where ### is a signed value which is added to the current millis + // or RELATIVE_ADD:DATE=1 which means that the field "DATE" will be added by +1 relative to current time, + // and any other fields present will be set explicitly. + // str: the expected unicode string + + Cases { + { + "en_US@calendar=gregorian", + "", + "PATTERN=YYYYHHmmssEEEww", + "YEAR=1999,HOUR_OF_DAY=4,MINUTE=5,SECOND=6,DAY_OF_WEEK=2,WEEK_OF_YEAR=4", + // won't roundtrip. + "1998040506MON56" + } + } + } + } +} |