< prev index next >
test/jdk/java/util/Locale/bcp47u/JavaTimeTests.java
Print this page
rev 47925 : 8191349: Add a new method in j.t.f.DateTimeFormatter to reflect Unicode extensions
Reviewed-by:
*** 36,49 ****
--- 36,52 ----
import java.time.DayOfWeek;
import java.time.ZonedDateTime;
import java.time.ZoneId;
import java.time.chrono.Chronology;
import java.time.chrono.HijrahChronology;
+ import java.time.chrono.IsoChronology;
import java.time.chrono.JapaneseChronology;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeFormatterBuilder;
import java.time.format.FormatStyle;
+ import java.time.temporal.ChronoField;
+ import java.time.temporal.TemporalField;
import java.time.temporal.WeekFields;
import java.util.Locale;
import java.util.TimeZone;
import org.testng.annotations.AfterTest;
*** 91,102 ****
@AfterTest
public void afterTest() {
TimeZone.setDefault(defaultTZ);
}
! @DataProvider(name="withLocale")
! Object[][] withLocale() {
return new Object[][] {
// Locale, Chrono override, Zone override, Expected Chrono, Expected Zone,
// Expected formatted string
{Locale.JAPAN, null, null, null, null,
"2017\u5e748\u670810\u65e5\u6728\u66dc\u65e5 15\u664215\u520600\u79d2 \u30a2\u30e1\u30ea\u30ab\u592a\u5e73\u6d0b\u590f\u6642\u9593"
--- 94,105 ----
@AfterTest
public void afterTest() {
TimeZone.setDefault(defaultTZ);
}
! @DataProvider(name="localizedBy")
! Object[][] localizedBy() {
return new Object[][] {
// Locale, Chrono override, Zone override, Expected Chrono, Expected Zone,
// Expected formatted string
{Locale.JAPAN, null, null, null, null,
"2017\u5e748\u670810\u65e5\u6728\u66dc\u65e5 15\u664215\u520600\u79d2 \u30a2\u30e1\u30ea\u30ab\u592a\u5e73\u6d0b\u590f\u6642\u9593"
*** 134,143 ****
--- 137,218 ----
},
{RG_GB, null, null, null, null,
"Thursday, 10 August 2017 at 15:15:00 Pacific Daylight Time"
},
+
+ // DecimalStyle
+ {Locale.forLanguageTag("en-US-u-nu-thai"), null, null, null, null,
+ "Thursday, August \u0e51\u0e50, \u0e52\u0e50\u0e51\u0e57 at \u0e53:\u0e51\u0e55:\u0e50\u0e50 PM Pacific Daylight Time"
+ },
+ // DecimalStyle, "nu" vs "rg"
+ {Locale.forLanguageTag("en-US-u-nu-thai-rg-uszzzz"), null, null, null, null,
+ "Thursday, August \u0e51\u0e50, \u0e52\u0e50\u0e51\u0e57 at \u0e53:\u0e51\u0e55:\u0e50\u0e50 PM Pacific Daylight Time"
+ },
+ // DecimalStyle, invalid
+ {Locale.forLanguageTag("en-US-u-nu-foo"), null, null, null, null,
+ "Thursday, August 10, 2017 at 3:15:00 PM Pacific Daylight Time"
+ },
+ };
+ }
+
+ @DataProvider(name="withLocale")
+ Object[][] withLocale() {
+ return new Object[][] {
+ // Locale, Chrono override, Zone override, Expected Chrono, Expected Zone,
+ // Expected formatted string
+ {Locale.JAPAN, null, null, null, null,
+ "2017\u5e748\u670810\u65e5\u6728\u66dc\u65e5 15\u664215\u520600\u79d2 \u30a2\u30e1\u30ea\u30ab\u592a\u5e73\u6d0b\u590f\u6642\u9593"
+ },
+ {Locale.JAPAN, JAPANESE, null, JAPANESE, null,
+ "\u5e73\u621029\u5e748\u670810\u65e5\u6728\u66dc\u65e5 15\u664215\u520600\u79d2 \u30a2\u30e1\u30ea\u30ab\u592a\u5e73\u6d0b\u590f\u6642\u9593"
+ },
+ {Locale.JAPAN, JAPANESE, ASIATOKYO, JAPANESE, ASIATOKYO,
+ "\u5e73\u621029\u5e748\u670811\u65e5\u91d1\u66dc\u65e5 7\u664215\u520600\u79d2 \u65e5\u672c\u6a19\u6e96\u6642"
+ },
+
+ {JCAL, null, null, null, null,
+ "Thursday, August 10, 2017 at 3:15:00 PM Pacific Daylight Time"
+ },
+ {JCAL, HIJRAH, null, HIJRAH, null,
+ "Thursday, Dhu\u02bbl-Qi\u02bbdah 18, 1438 AH at 3:15:00 PM Pacific Daylight Time"
+ },
+ {HCAL, JAPANESE, null, JAPANESE, null,
+ "Thursday, August 10, 29 Heisei at 3:15:00 PM Pacific Daylight Time"
+ },
+
+
+ {JPTYO, null, null, null, null,
+ "Thursday, August 10, 2017 at 3:15:00 PM Pacific Daylight Time"
+ },
+ {JPTYO, null, AMLA, null, AMLA,
+ "Thursday, August 10, 2017 at 3:15:00 PM Pacific Daylight Time"
+ },
+ // invalid tz
+ {Locale.forLanguageTag("en-US-u-tz-jpzzz"), null, null, null, null,
+ "Thursday, August 10, 2017 at 3:15:00 PM Pacific Daylight Time"
+ },
+ {Locale.forLanguageTag("en-US-u-tz-jpzzz"), null, null, null, null,
+ "Thursday, August 10, 2017 at 3:15:00 PM Pacific Daylight Time"
+ },
+
+ {RG_GB, null, null, null, null,
+ "Thursday, 10 August 2017 at 15:15:00 Pacific Daylight Time"
+ },
+
+ // DecimalStyle
+ {Locale.forLanguageTag("en-US-u-nu-thai"), null, null, null, null,
+ "Thursday, August 10, 2017 at 3:15:00 PM Pacific Daylight Time"
+ },
+ // DecimalStyle, "nu" vs "rg"
+ {Locale.forLanguageTag("en-US-u-nu-thai-rg-uszzzz"), null, null, null, null,
+ "Thursday, August 10, 2017 at 3:15:00 PM Pacific Daylight Time"
+ },
+ // DecimalStyle, invalid
+ {Locale.forLanguageTag("en-US-u-nu-foo"), null, null, null, null,
+ "Thursday, August 10, 2017 at 3:15:00 PM Pacific Daylight Time"
+ },
};
}
@DataProvider(name="firstDayOfWeek")
Object[][] firstDayOfWeek () {
*** 181,199 ****
@DataProvider(name="ofPattern")
Object[][] ofPattern() {
return new Object[][] {
// Locale, Expected Chrono, Expected Zone,
// Expected formatted string
! {JCAL, JAPANESE, null,
! "Heisei August-10-17 15:15:00 Pacific Daylight Time"
},
! {HCAL, HIJRAH, null,
! "AH Dhu\u02bbl-Qi\u02bbdah-18-38 15:15:00 Pacific Daylight Time"
},
! {JPTYO, null, ASIATOKYO,
! "Anno Domini August-11-17 07:15:00 Japan Standard Time"
},
{Locale.forLanguageTag("en-US-u-tz-jpzzz"), null, null,
"Anno Domini August-10-17 15:15:00 Pacific Daylight Time"
},
--- 256,274 ----
@DataProvider(name="ofPattern")
Object[][] ofPattern() {
return new Object[][] {
// Locale, Expected Chrono, Expected Zone,
// Expected formatted string
! {JCAL, null, null,
! "Anno Domini August-10-17 15:15:00 Pacific Daylight Time"
},
! {HCAL, null, null,
! "Anno Domini August-10-17 15:15:00 Pacific Daylight Time"
},
! {JPTYO, null, null,
! "Anno Domini August-10-17 15:15:00 Pacific Daylight Time"
},
{Locale.forLanguageTag("en-US-u-tz-jpzzz"), null, null,
"Anno Domini August-10-17 15:15:00 Pacific Daylight Time"
},
*** 202,211 ****
--- 277,782 ----
},
};
}
+ @DataProvider(name="shortTZID")
+ Object[][] shortTZID() {
+ return new Object[][] {
+ // LDML's short ID, Expected Zone,
+ {"adalv", "Europe/Andorra"},
+ {"aedxb", "Asia/Dubai"},
+ {"afkbl", "Asia/Kabul"},
+ {"aganu", "America/Antigua"},
+ {"aiaxa", "America/Anguilla"},
+ {"altia", "Europe/Tirane"},
+ {"amevn", "Asia/Yerevan"},
+ {"ancur", "America/Curacao"},
+ {"aolad", "Africa/Luanda"},
+ {"aqcas", "Antarctica/Casey"},
+ {"aqdav", "Antarctica/Davis"},
+ {"aqddu", "Antarctica/DumontDUrville"},
+ {"aqmaw", "Antarctica/Mawson"},
+ {"aqmcm", "Antarctica/McMurdo"},
+ {"aqplm", "Antarctica/Palmer"},
+ {"aqrot", "Antarctica/Rothera"},
+ {"aqsyw", "Antarctica/Syowa"},
+ {"aqtrl", "Antarctica/Troll"},
+ {"aqvos", "Antarctica/Vostok"},
+ {"arbue", "America/Buenos_Aires"},
+ {"arcor", "America/Cordoba"},
+ {"arctc", "America/Catamarca"},
+ {"arirj", "America/Argentina/La_Rioja"},
+ {"arjuj", "America/Jujuy"},
+ {"arluq", "America/Argentina/San_Luis"},
+ {"armdz", "America/Mendoza"},
+ {"arrgl", "America/Argentina/Rio_Gallegos"},
+ {"arsla", "America/Argentina/Salta"},
+ {"artuc", "America/Argentina/Tucuman"},
+ {"aruaq", "America/Argentina/San_Juan"},
+ {"arush", "America/Argentina/Ushuaia"},
+ {"asppg", "Pacific/Pago_Pago"},
+ {"atvie", "Europe/Vienna"},
+ {"auadl", "Australia/Adelaide"},
+ {"aubhq", "Australia/Broken_Hill"},
+ {"aubne", "Australia/Brisbane"},
+ {"audrw", "Australia/Darwin"},
+ {"aueuc", "Australia/Eucla"},
+ {"auhba", "Australia/Hobart"},
+ {"aukns", "Australia/Currie"},
+ {"auldc", "Australia/Lindeman"},
+ {"auldh", "Australia/Lord_Howe"},
+ {"aumel", "Australia/Melbourne"},
+ {"aumqi", "Antarctica/Macquarie"},
+ {"auper", "Australia/Perth"},
+ {"ausyd", "Australia/Sydney"},
+ {"awaua", "America/Aruba"},
+ {"azbak", "Asia/Baku"},
+ {"basjj", "Europe/Sarajevo"},
+ {"bbbgi", "America/Barbados"},
+ {"bddac", "Asia/Dhaka"},
+ {"bebru", "Europe/Brussels"},
+ {"bfoua", "Africa/Ouagadougou"},
+ {"bgsof", "Europe/Sofia"},
+ {"bhbah", "Asia/Bahrain"},
+ {"bibjm", "Africa/Bujumbura"},
+ {"bjptn", "Africa/Porto-Novo"},
+ {"bmbda", "Atlantic/Bermuda"},
+ {"bnbwn", "Asia/Brunei"},
+ {"bolpb", "America/La_Paz"},
+ {"bqkra", "America/Kralendijk"},
+ {"braux", "America/Araguaina"},
+ {"brbel", "America/Belem"},
+ {"brbvb", "America/Boa_Vista"},
+ {"brcgb", "America/Cuiaba"},
+ {"brcgr", "America/Campo_Grande"},
+ {"brern", "America/Eirunepe"},
+ {"brfen", "America/Noronha"},
+ {"brfor", "America/Fortaleza"},
+ {"brmao", "America/Manaus"},
+ {"brmcz", "America/Maceio"},
+ {"brpvh", "America/Porto_Velho"},
+ {"brrbr", "America/Rio_Branco"},
+ {"brrec", "America/Recife"},
+ {"brsao", "America/Sao_Paulo"},
+ {"brssa", "America/Bahia"},
+ {"brstm", "America/Santarem"},
+ {"bsnas", "America/Nassau"},
+ {"btthi", "Asia/Thimphu"},
+ {"bwgbe", "Africa/Gaborone"},
+ {"bymsq", "Europe/Minsk"},
+ {"bzbze", "America/Belize"},
+ {"cacfq", "America/Creston"},
+ {"caedm", "America/Edmonton"},
+ {"caffs", "America/Rainy_River"},
+ {"cafne", "America/Fort_Nelson"},
+ {"caglb", "America/Glace_Bay"},
+ {"cagoo", "America/Goose_Bay"},
+ {"cahal", "America/Halifax"},
+ {"caiql", "America/Iqaluit"},
+ {"camon", "America/Moncton"},
+ {"capnt", "America/Pangnirtung"},
+ {"careb", "America/Resolute"},
+ {"careg", "America/Regina"},
+ {"casjf", "America/St_Johns"},
+ {"canpg", "America/Nipigon"},
+ {"cathu", "America/Thunder_Bay"},
+ {"cator", "America/Toronto"},
+ {"cavan", "America/Vancouver"},
+ {"cawnp", "America/Winnipeg"},
+ {"caybx", "America/Blanc-Sablon"},
+ {"caycb", "America/Cambridge_Bay"},
+ {"cayda", "America/Dawson"},
+ {"caydq", "America/Dawson_Creek"},
+ {"cayek", "America/Rankin_Inlet"},
+ {"cayev", "America/Inuvik"},
+ {"cayxy", "America/Whitehorse"},
+ {"cayyn", "America/Swift_Current"},
+ {"cayzf", "America/Yellowknife"},
+ {"cayzs", "America/Coral_Harbour"},
+ {"cccck", "Indian/Cocos"},
+ {"cdfbm", "Africa/Lubumbashi"},
+ {"cdfih", "Africa/Kinshasa"},
+ {"cfbgf", "Africa/Bangui"},
+ {"cgbzv", "Africa/Brazzaville"},
+ {"chzrh", "Europe/Zurich"},
+ {"ciabj", "Africa/Abidjan"},
+ {"ckrar", "Pacific/Rarotonga"},
+ {"clipc", "Pacific/Easter"},
+ {"clscl", "America/Santiago"},
+ {"cmdla", "Africa/Douala"},
+ {"cnsha", "Asia/Shanghai"},
+ {"cnurc", "Asia/Urumqi"},
+ {"cobog", "America/Bogota"},
+ {"crsjo", "America/Costa_Rica"},
+ {"cst6cdt", "CST6CDT"},
+ {"cuhav", "America/Havana"},
+ {"cvrai", "Atlantic/Cape_Verde"},
+ {"cxxch", "Indian/Christmas"},
+ {"cynic", "Asia/Nicosia"},
+ {"czprg", "Europe/Prague"},
+ {"deber", "Europe/Berlin"},
+ {"debsngn", "Europe/Busingen"},
+ {"djjib", "Africa/Djibouti"},
+ {"dkcph", "Europe/Copenhagen"},
+ {"dmdom", "America/Dominica"},
+ {"dosdq", "America/Santo_Domingo"},
+ {"dzalg", "Africa/Algiers"},
+ {"ecgps", "Pacific/Galapagos"},
+ {"ecgye", "America/Guayaquil"},
+ {"eetll", "Europe/Tallinn"},
+ {"egcai", "Africa/Cairo"},
+ {"eheai", "Africa/El_Aaiun"},
+ {"erasm", "Africa/Asmera"},
+ {"esceu", "Africa/Ceuta"},
+ {"eslpa", "Atlantic/Canary"},
+ {"esmad", "Europe/Madrid"},
+ {"est5edt", "EST5EDT"},
+ {"etadd", "Africa/Addis_Ababa"},
+ {"fihel", "Europe/Helsinki"},
+ {"fimhq", "Europe/Mariehamn"},
+ {"fjsuv", "Pacific/Fiji"},
+ {"fkpsy", "Atlantic/Stanley"},
+ {"fmksa", "Pacific/Kosrae"},
+ {"fmpni", "Pacific/Ponape"},
+ {"fmtkk", "Pacific/Truk"},
+ {"fotho", "Atlantic/Faeroe"},
+ {"frpar", "Europe/Paris"},
+ {"galbv", "Africa/Libreville"},
+ {"gaza", "Asia/Gaza"},
+ {"gblon", "Europe/London"},
+ {"gdgnd", "America/Grenada"},
+ {"getbs", "Asia/Tbilisi"},
+ {"gfcay", "America/Cayenne"},
+ {"gggci", "Europe/Guernsey"},
+ {"ghacc", "Africa/Accra"},
+ {"gigib", "Europe/Gibraltar"},
+ {"gldkshvn", "America/Danmarkshavn"},
+ {"glgoh", "America/Godthab"},
+ {"globy", "America/Scoresbysund"},
+ {"glthu", "America/Thule"},
+ {"gmbjl", "Africa/Banjul"},
+ {"gncky", "Africa/Conakry"},
+ {"gpbbr", "America/Guadeloupe"},
+ {"gpmsb", "America/Marigot"},
+ {"gpsbh", "America/St_Barthelemy"},
+ {"gqssg", "Africa/Malabo"},
+ {"grath", "Europe/Athens"},
+ {"gsgrv", "Atlantic/South_Georgia"},
+ {"gtgua", "America/Guatemala"},
+ {"gugum", "Pacific/Guam"},
+ {"gwoxb", "Africa/Bissau"},
+ {"gygeo", "America/Guyana"},
+ {"hebron", "Asia/Hebron"},
+ {"hkhkg", "Asia/Hong_Kong"},
+ {"hntgu", "America/Tegucigalpa"},
+ {"hrzag", "Europe/Zagreb"},
+ {"htpap", "America/Port-au-Prince"},
+ {"hubud", "Europe/Budapest"},
+ {"iddjj", "Asia/Jayapura"},
+ {"idjkt", "Asia/Jakarta"},
+ {"idmak", "Asia/Makassar"},
+ {"idpnk", "Asia/Pontianak"},
+ {"iedub", "Europe/Dublin"},
+ {"imdgs", "Europe/Isle_of_Man"},
+ {"inccu", "Asia/Calcutta"},
+ {"iodga", "Indian/Chagos"},
+ {"iqbgw", "Asia/Baghdad"},
+ {"irthr", "Asia/Tehran"},
+ {"isrey", "Atlantic/Reykjavik"},
+ {"itrom", "Europe/Rome"},
+ {"jeruslm", "Asia/Jerusalem"},
+ {"jesth", "Europe/Jersey"},
+ {"jmkin", "America/Jamaica"},
+ {"joamm", "Asia/Amman"},
+ {"jptyo", "Asia/Tokyo"},
+ {"kenbo", "Africa/Nairobi"},
+ {"kgfru", "Asia/Bishkek"},
+ {"khpnh", "Asia/Phnom_Penh"},
+ {"kicxi", "Pacific/Kiritimati"},
+ {"kipho", "Pacific/Enderbury"},
+ {"kitrw", "Pacific/Tarawa"},
+ {"kmyva", "Indian/Comoro"},
+ {"knbas", "America/St_Kitts"},
+ {"kpfnj", "Asia/Pyongyang"},
+ {"krsel", "Asia/Seoul"},
+ {"kwkwi", "Asia/Kuwait"},
+ {"kygec", "America/Cayman"},
+ {"kzaau", "Asia/Aqtau"},
+ {"kzakx", "Asia/Aqtobe"},
+ {"kzala", "Asia/Almaty"},
+ {"kzkzo", "Asia/Qyzylorda"},
+ {"kzura", "Asia/Oral"},
+ {"lavte", "Asia/Vientiane"},
+ {"lbbey", "Asia/Beirut"},
+ {"lccas", "America/St_Lucia"},
+ {"livdz", "Europe/Vaduz"},
+ {"lkcmb", "Asia/Colombo"},
+ {"lrmlw", "Africa/Monrovia"},
+ {"lsmsu", "Africa/Maseru"},
+ {"ltvno", "Europe/Vilnius"},
+ {"lulux", "Europe/Luxembourg"},
+ {"lvrix", "Europe/Riga"},
+ {"lytip", "Africa/Tripoli"},
+ {"macas", "Africa/Casablanca"},
+ {"mcmon", "Europe/Monaco"},
+ {"mdkiv", "Europe/Chisinau"},
+ {"metgd", "Europe/Podgorica"},
+ {"mgtnr", "Indian/Antananarivo"},
+ {"mhkwa", "Pacific/Kwajalein"},
+ {"mhmaj", "Pacific/Majuro"},
+ {"mkskp", "Europe/Skopje"},
+ {"mlbko", "Africa/Bamako"},
+ {"mmrgn", "Asia/Rangoon"},
+ {"mncoq", "Asia/Choibalsan"},
+ {"mnhvd", "Asia/Hovd"},
+ {"mnuln", "Asia/Ulaanbaatar"},
+ {"momfm", "Asia/Macau"},
+ {"mpspn", "Pacific/Saipan"},
+ {"mqfdf", "America/Martinique"},
+ {"mrnkc", "Africa/Nouakchott"},
+ {"msmni", "America/Montserrat"},
+ {"mst7mdt", "MST7MDT"},
+ {"mtmla", "Europe/Malta"},
+ {"muplu", "Indian/Mauritius"},
+ {"mvmle", "Indian/Maldives"},
+ {"mwblz", "Africa/Blantyre"},
+ {"mxchi", "America/Chihuahua"},
+ {"mxcun", "America/Cancun"},
+ {"mxhmo", "America/Hermosillo"},
+ {"mxmam", "America/Matamoros"},
+ {"mxmex", "America/Mexico_City"},
+ {"mxmid", "America/Merida"},
+ {"mxmty", "America/Monterrey"},
+ {"mxmzt", "America/Mazatlan"},
+ {"mxoji", "America/Ojinaga"},
+ {"mxpvr", "America/Bahia_Banderas"},
+ {"mxstis", "America/Santa_Isabel"},
+ {"mxtij", "America/Tijuana"},
+ {"mykch", "Asia/Kuching"},
+ {"mykul", "Asia/Kuala_Lumpur"},
+ {"mzmpm", "Africa/Maputo"},
+ {"nawdh", "Africa/Windhoek"},
+ {"ncnou", "Pacific/Noumea"},
+ {"nenim", "Africa/Niamey"},
+ {"nfnlk", "Pacific/Norfolk"},
+ {"nglos", "Africa/Lagos"},
+ {"nimga", "America/Managua"},
+ {"nlams", "Europe/Amsterdam"},
+ {"noosl", "Europe/Oslo"},
+ {"npktm", "Asia/Katmandu"},
+ {"nrinu", "Pacific/Nauru"},
+ {"nuiue", "Pacific/Niue"},
+ {"nzakl", "Pacific/Auckland"},
+ {"nzcht", "Pacific/Chatham"},
+ {"ommct", "Asia/Muscat"},
+ {"papty", "America/Panama"},
+ {"pelim", "America/Lima"},
+ {"pfgmr", "Pacific/Gambier"},
+ {"pfnhv", "Pacific/Marquesas"},
+ {"pfppt", "Pacific/Tahiti"},
+ {"pgpom", "Pacific/Port_Moresby"},
+ {"pgraw", "Pacific/Bougainville"},
+ {"phmnl", "Asia/Manila"},
+ {"pkkhi", "Asia/Karachi"},
+ {"plwaw", "Europe/Warsaw"},
+ {"pmmqc", "America/Miquelon"},
+ {"pnpcn", "Pacific/Pitcairn"},
+ {"prsju", "America/Puerto_Rico"},
+ {"pst8pdt", "PST8PDT"},
+ {"ptfnc", "Atlantic/Madeira"},
+ {"ptlis", "Europe/Lisbon"},
+ {"ptpdl", "Atlantic/Azores"},
+ {"pwror", "Pacific/Palau"},
+ {"pyasu", "America/Asuncion"},
+ {"qadoh", "Asia/Qatar"},
+ {"rereu", "Indian/Reunion"},
+ {"robuh", "Europe/Bucharest"},
+ {"rsbeg", "Europe/Belgrade"},
+ {"ruchita", "Asia/Chita"},
+ {"rudyr", "Asia/Anadyr"},
+ {"rugdx", "Asia/Magadan"},
+ {"ruikt", "Asia/Irkutsk"},
+ {"rukgd", "Europe/Kaliningrad"},
+ {"rukhndg", "Asia/Khandyga"},
+ {"rukra", "Asia/Krasnoyarsk"},
+ {"rukuf", "Europe/Samara"},
+ {"rumow", "Europe/Moscow"},
+ {"runoz", "Asia/Novokuznetsk"},
+ {"ruoms", "Asia/Omsk"},
+ {"ruovb", "Asia/Novosibirsk"},
+ {"rupkc", "Asia/Kamchatka"},
+ {"rusred", "Asia/Srednekolymsk"},
+ {"ruunera", "Asia/Ust-Nera"},
+ {"ruuus", "Asia/Sakhalin"},
+ {"ruvog", "Europe/Volgograd"},
+ {"ruvvo", "Asia/Vladivostok"},
+ {"ruyek", "Asia/Yekaterinburg"},
+ {"ruyks", "Asia/Yakutsk"},
+ {"rwkgl", "Africa/Kigali"},
+ {"saruh", "Asia/Riyadh"},
+ {"sbhir", "Pacific/Guadalcanal"},
+ {"scmaw", "Indian/Mahe"},
+ {"sdkrt", "Africa/Khartoum"},
+ {"sesto", "Europe/Stockholm"},
+ {"sgsin", "Asia/Singapore"},
+ {"shshn", "Atlantic/St_Helena"},
+ {"silju", "Europe/Ljubljana"},
+ {"sjlyr", "Arctic/Longyearbyen"},
+ {"skbts", "Europe/Bratislava"},
+ {"slfna", "Africa/Freetown"},
+ {"smsai", "Europe/San_Marino"},
+ {"sndkr", "Africa/Dakar"},
+ {"somgq", "Africa/Mogadishu"},
+ {"srpbm", "America/Paramaribo"},
+ {"ssjub", "Africa/Juba"},
+ {"sttms", "Africa/Sao_Tome"},
+ {"svsal", "America/El_Salvador"},
+ {"sxphi", "America/Lower_Princes"},
+ {"sydam", "Asia/Damascus"},
+ {"szqmn", "Africa/Mbabane"},
+ {"tcgdt", "America/Grand_Turk"},
+ {"tdndj", "Africa/Ndjamena"},
+ {"tfpfr", "Indian/Kerguelen"},
+ {"tglfw", "Africa/Lome"},
+ {"thbkk", "Asia/Bangkok"},
+ {"tjdyu", "Asia/Dushanbe"},
+ {"tkfko", "Pacific/Fakaofo"},
+ {"tldil", "Asia/Dili"},
+ {"tmasb", "Asia/Ashgabat"},
+ {"tntun", "Africa/Tunis"},
+ {"totbu", "Pacific/Tongatapu"},
+ {"trist", "Europe/Istanbul"},
+ {"ttpos", "America/Port_of_Spain"},
+ {"tvfun", "Pacific/Funafuti"},
+ {"twtpe", "Asia/Taipei"},
+ {"tzdar", "Africa/Dar_es_Salaam"},
+ {"uaiev", "Europe/Kiev"},
+ {"uaozh", "Europe/Zaporozhye"},
+ {"uasip", "Europe/Simferopol"},
+ {"uauzh", "Europe/Uzhgorod"},
+ {"ugkla", "Africa/Kampala"},
+ {"umawk", "Pacific/Wake"},
+ {"umjon", "Pacific/Johnston"},
+ {"ummdy", "Pacific/Midway"},
+ // {"unk", "Etc/Unknown"},
+ {"usadk", "America/Adak"},
+ {"usaeg", "America/Indiana/Marengo"},
+ {"usanc", "America/Anchorage"},
+ {"usboi", "America/Boise"},
+ {"uschi", "America/Chicago"},
+ {"usden", "America/Denver"},
+ {"usdet", "America/Detroit"},
+ {"ushnl", "Pacific/Honolulu"},
+ {"usind", "America/Indianapolis"},
+ {"usinvev", "America/Indiana/Vevay"},
+ {"usjnu", "America/Juneau"},
+ {"usknx", "America/Indiana/Knox"},
+ {"uslax", "America/Los_Angeles"},
+ {"uslui", "America/Louisville"},
+ {"usmnm", "America/Menominee"},
+ {"usmtm", "America/Metlakatla"},
+ {"usmoc", "America/Kentucky/Monticello"},
+ {"usndcnt", "America/North_Dakota/Center"},
+ {"usndnsl", "America/North_Dakota/New_Salem"},
+ {"usnyc", "America/New_York"},
+ {"usoea", "America/Indiana/Vincennes"},
+ {"usome", "America/Nome"},
+ {"usphx", "America/Phoenix"},
+ {"ussit", "America/Sitka"},
+ {"ustel", "America/Indiana/Tell_City"},
+ {"uswlz", "America/Indiana/Winamac"},
+ {"uswsq", "America/Indiana/Petersburg"},
+ {"usxul", "America/North_Dakota/Beulah"},
+ {"usyak", "America/Yakutat"},
+ {"utc", "Etc/GMT"},
+ {"utce01", "Etc/GMT-1"},
+ {"utce02", "Etc/GMT-2"},
+ {"utce03", "Etc/GMT-3"},
+ {"utce04", "Etc/GMT-4"},
+ {"utce05", "Etc/GMT-5"},
+ {"utce06", "Etc/GMT-6"},
+ {"utce07", "Etc/GMT-7"},
+ {"utce08", "Etc/GMT-8"},
+ {"utce09", "Etc/GMT-9"},
+ {"utce10", "Etc/GMT-10"},
+ {"utce11", "Etc/GMT-11"},
+ {"utce12", "Etc/GMT-12"},
+ {"utce13", "Etc/GMT-13"},
+ {"utce14", "Etc/GMT-14"},
+ {"utcw01", "Etc/GMT+1"},
+ {"utcw02", "Etc/GMT+2"},
+ {"utcw03", "Etc/GMT+3"},
+ {"utcw04", "Etc/GMT+4"},
+ {"utcw05", "Etc/GMT+5"},
+ {"utcw06", "Etc/GMT+6"},
+ {"utcw07", "Etc/GMT+7"},
+ {"utcw08", "Etc/GMT+8"},
+ {"utcw09", "Etc/GMT+9"},
+ {"utcw10", "Etc/GMT+10"},
+ {"utcw11", "Etc/GMT+11"},
+ {"utcw12", "Etc/GMT+12"},
+ {"uymvd", "America/Montevideo"},
+ {"uzskd", "Asia/Samarkand"},
+ {"uztas", "Asia/Tashkent"},
+ {"vavat", "Europe/Vatican"},
+ {"vcsvd", "America/St_Vincent"},
+ {"veccs", "America/Caracas"},
+ {"vgtov", "America/Tortola"},
+ {"vistt", "America/St_Thomas"},
+ {"vnsgn", "Asia/Saigon"},
+ {"vuvli", "Pacific/Efate"},
+ {"wfmau", "Pacific/Wallis"},
+ {"wsapw", "Pacific/Apia"},
+ {"yeade", "Asia/Aden"},
+ {"ytmam", "Indian/Mayotte"},
+ {"zajnb", "Africa/Johannesburg"},
+ {"zmlun", "Africa/Lusaka"},
+ {"zwhre", "Africa/Harare"},
+
+ };
+ }
+
+ @DataProvider(name="getLocalizedDateTimePattern")
+ Object[][] getLocalizedDateTimePattern() {
+ return new Object[][] {
+ // Locale, Expected pattern,
+ {Locale.US, FormatStyle.FULL, "EEEE, MMMM d, y 'at' h:mm:ss a zzzz"},
+ {Locale.US, FormatStyle.LONG, "MMMM d, y 'at' h:mm:ss a z"},
+ {Locale.US, FormatStyle.MEDIUM, "MMM d, y, h:mm:ss a"},
+ {Locale.US, FormatStyle.SHORT, "M/d/yy, h:mm a"},
+ {RG_GB, FormatStyle.FULL, "EEEE, d MMMM y 'at' HH:mm:ss zzzz"},
+ {RG_GB, FormatStyle.LONG, "d MMMM y 'at' HH:mm:ss z"},
+ {RG_GB, FormatStyle.MEDIUM, "d MMM y, HH:mm:ss"},
+ {RG_GB, FormatStyle.SHORT, "dd/MM/y, HH:mm"},
+ };
+ }
+
+ @DataProvider(name="getDisplayName")
+ Object[][] getDisplayName() {
+ return new Object[][] {
+ // Locale, field, Expected name,
+ {Locale.US, ChronoField.AMPM_OF_DAY, "AM/PM"},
+ {RG_GB, ChronoField.AMPM_OF_DAY, "am/pm"},
+ };
+ }
+
+ @Test(dataProvider="localizedBy")
+ public void test_localizedBy(Locale locale, Chronology chrono, ZoneId zone,
+ Chronology chronoExpected, ZoneId zoneExpected,
+ String formatExpected) {
+ DateTimeFormatter dtf =
+ DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.FULL)
+ .withChronology(chrono).withZone(zone).localizedBy(locale);
+ assertEquals(dtf.getChronology(), chronoExpected);
+ assertEquals(dtf.getZone(), zoneExpected);
+ String formatted = dtf.format(ZDT);
+ assertEquals(formatted, formatExpected);
+ assertEquals(dtf.parse(formatted, ZonedDateTime::from),
+ zoneExpected != null ? ZDT.withZoneSameInstant(zoneExpected) : ZDT);
+ }
+
@Test(dataProvider="withLocale")
public void test_withLocale(Locale locale, Chronology chrono, ZoneId zone,
Chronology chronoExpected, ZoneId zoneExpected,
String formatExpected) {
DateTimeFormatter dtf =
*** 256,261 ****
--- 827,853 ----
String formatted = dtf.format(ZDT);
assertEquals(formatted, formatExpected);
assertEquals(dtf.parse(formatted, ZonedDateTime::from),
zoneExpected != null ? ZDT.withZoneSameInstant(zoneExpected) : ZDT);
}
+
+ @Test(dataProvider="shortTZID")
+ public void test_shortTZID(String shortID, String expectedZone) {
+ Locale l = Locale.forLanguageTag("en-US-u-tz-" + shortID);
+ DateTimeFormatter dtf =
+ DateTimeFormatter.ofLocalizedDateTime(FormatStyle.FULL, FormatStyle.FULL)
+ .localizedBy(l);
+ assertEquals(dtf.getZone(), ZoneId.of(expectedZone));
+ }
+
+ @Test(dataProvider="getLocalizedDateTimePattern")
+ public void test_getLocalizedDateTimePattern(Locale l, FormatStyle s, String expectedPattern) {
+ DateTimeFormatterBuilder dtfb = new DateTimeFormatterBuilder();
+ assertEquals(dtfb.getLocalizedDateTimePattern(s, s, IsoChronology.INSTANCE, l),
+ expectedPattern);
+ }
+
+ @Test(dataProvider="getDisplayName")
+ public void test_getDisplayName(Locale l, TemporalField f, String expectedName) {
+ assertEquals(f.getDisplayName(l), expectedName);
+ }
}
< prev index next >