X-Git-Url: https://git.saurik.com/apple/icu.git/blobdiff_plain/729e4ab9bc6618bc3d8a898e575df7f4019e29ca..3d1f044b704633e2e541231cd17ae9ecf9ad5c7a:/icuSources/test/testdata/format.txt diff --git a/icuSources/test/testdata/format.txt b/icuSources/test/testdata/format.txt index 2a9a4467..4f66e04c 100644 --- a/icuSources/test/testdata/format.txt +++ b/icuSources/test/testdata/format.txt @@ -1,4 +1,6 @@ -// Copyright (c) 2007-2010 International Business Machines +// 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 { @@ -19,33 +21,38 @@ format:table(nofallback) { Type { "date_parse" } }, } - Headers { "locale","spec", "date", "str"} + 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 + // 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", + "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" + "8/8/07, 6:54 PM" }, { "zh_TW@calendar=roc", + "", "DATE=LONG", "ERA=1,YEAR=98,MONTH=0,DATE=24", - "民國98年1月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日", + "民國前 2年1月24日", }, } } @@ -58,49 +65,150 @@ format:table(nofallback) { Type { "date_format" } }, } - Headers { "locale","spec", "date", "str"} + Headers { "locale", "zone", "spec", "date", "str"} Cases { { "en_US@calendar=gregorian", + "", "DATE=RELATIVE_SHORT", "RELATIVE_ADD:DATE=1", // one day from now - "Tomorrow" + "tomorrow" }, { "en_US@calendar=gregorian", + "", "DATE=RELATIVE_SHORT", "RELATIVE_MILLIS=0", // today - "Today" + "today" }, { "en_US@calendar=gregorian", + "", "DATE=RELATIVE_SHORT", "RELATIVE_ADD:DATE=-1", // one day before now - "Yesterday" + "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 at 11:59:00 PM GMT" + }, + // normal formats, combined using 'at' + { + "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 at 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 at 5:00:00 PM GMT" + }, + // formats with relative day, combined using 'at' + { + "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 at 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 ngày 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" + "għada" }, { "mt_MT@calendar=gregorian", + "", "DATE=RELATIVE_SHORT", "RELATIVE_MILLIS=0", // today - "Illum" + "illum" }, { "mt_MT@calendar=gregorian", + "", "DATE=RELATIVE_SHORT", "RELATIVE_ADD:DATE=-1", // one day before now - "Lbieraħ" + "lbieraħ" }, { "ru", + "", "DATE=RELATIVE_SHORT", "RELATIVE_ADD:DATE=-2", // 2 days ago - "Позавчера" + "позавчера" }, } } @@ -118,13 +226,15 @@ format:table(nofallback) { // Type { "date_parse" } // }, } - Headers { "locale","spec", "date", "str"} + 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 + // 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: @@ -134,30 +244,35 @@ format:table(nofallback) { //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" @@ -165,30 +280,35 @@ format:table(nofallback) { //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" @@ -196,30 +316,35 @@ format:table(nofallback) { //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" @@ -227,30 +352,35 @@ format:table(nofallback) { //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" @@ -258,30 +388,35 @@ format:table(nofallback) { //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" @@ -301,13 +436,15 @@ format:table(nofallback) { Type { "date_parse" } }, } - Headers { "locale","spec", "date", "str"} + 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 + // 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: @@ -317,66 +454,76 @@ format:table(nofallback) { //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" - }, +// { +// "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" +// }, } } @@ -390,21 +537,24 @@ format:table(nofallback) { Type { "date_format" } }, } - Headers { "locale","spec", "date", "str"} + 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 + // 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, Heshvan 3, 103217 12:00:00 AM GMT-08:00" + "Friday, 3 Heshvan 103217 at 12:00:00 AM GMT-08:00" }, } } @@ -419,18 +569,21 @@ format:table(nofallback) { Type { "date_parse" } }, } - Headers { "locale","spec", "date", "str"} + 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 + // 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.