From c0a1914073b501e31e0dc2db55490f7af41d3eb4 Mon Sep 17 00:00:00 2001 From: John Emmons Date: Thu, 27 Aug 2015 21:04:13 +0000 Subject: [PATCH] ICU-11846 CLDR 28 data integration X-SVN-Rev: 37838 --- .../core/src/com/ibm/icu/util/Region.java | 43 ++++++++++++++++--- icu4j/main/shared/data/icudata.jar | 4 +- icu4j/main/shared/data/icutzdata.jar | 2 +- icu4j/main/shared/data/testdata.jar | 4 +- .../dev/test/util/ULocaleCollationTest.java | 4 +- .../test/format/CompactDecimalFormatTest.java | 8 ++-- .../icu/dev/test/format/DateFormatTest.java | 18 ++++---- .../test/format/DateTimeGeneratorTest.java | 22 +++++----- .../icu/dev/test/format/MeasureUnitTest.java | 22 +++++----- .../icu/dev/test/format/NumberFormatTest.java | 13 +++--- .../icu/dev/test/format/PluralRulesTest.java | 4 +- .../dev/test/util/ICUResourceBundleTest.java | 2 +- .../ibm/icu/dev/test/util/ULocaleTest.java | 4 +- 13 files changed, 90 insertions(+), 60 deletions(-) diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/Region.java b/icu4j/main/classes/core/src/com/ibm/icu/util/Region.java index cba701f05df..d5be9728c98 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/util/Region.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/util/Region.java @@ -153,21 +153,29 @@ public class Region implements Comparable { availableRegions = new ArrayList>(RegionType.values().length); - UResourceBundle regionCodes = null; UResourceBundle metadataAlias = null; UResourceBundle territoryAlias = null; UResourceBundle codeMappings = null; + UResourceBundle idValidity = null; + UResourceBundle regionList = null; + UResourceBundle regionRegular = null; + UResourceBundle regionMacro = null; + UResourceBundle regionUnknown = null; UResourceBundle worldContainment = null; UResourceBundle territoryContainment = null; UResourceBundle groupingContainment = null; UResourceBundle metadata = UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME,"metadata",ICUResourceBundle.ICU_DATA_CLASS_LOADER); - regionCodes = metadata.get("regionCodes"); metadataAlias = metadata.get("alias"); territoryAlias = metadataAlias.get("territory"); UResourceBundle supplementalData = UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME,"supplementalData", ICUResourceBundle.ICU_DATA_CLASS_LOADER); codeMappings = supplementalData.get("codeMappings"); + idValidity = supplementalData.get("idValidity"); + regionList = idValidity.get("region"); + regionRegular = regionList.get("regular"); + regionMacro = regionList.get("macroregion"); + regionUnknown = regionList.get("unknown"); territoryContainment = supplementalData.get("territoryContainment"); worldContainment = territoryContainment.get("001"); @@ -177,13 +185,36 @@ public class Region implements Comparable { List continents = Arrays.asList(continentsArr); String[] groupingArr = groupingContainment.getStringArray(); List groupings = Arrays.asList(groupingArr); + List regionCodes = new ArrayList(); + + List allRegions = new ArrayList(); + allRegions.addAll(Arrays.asList(regionRegular.getStringArray())); + allRegions.addAll(Arrays.asList(regionMacro.getStringArray())); + allRegions.add(regionUnknown.getString()); + + for ( String r : allRegions ) { + int rangeMarkerLocation = r.indexOf("~"); + if ( rangeMarkerLocation > 0 ) { + StringBuilder regionName = new StringBuilder(r); + char endRange = regionName.charAt(rangeMarkerLocation+1); + regionName.setLength(rangeMarkerLocation); + char lastChar = regionName.charAt(rangeMarkerLocation-1); + while ( lastChar <= endRange ) { + String newRegion = regionName.toString(); + regionCodes.add(newRegion); + lastChar++; + regionName.setCharAt(rangeMarkerLocation-1,lastChar); + } + } else { + regionCodes.add(r); + } + } + + regions = new ArrayList(regionCodes.size()); // First process the region codes and create the master array of regions. - int regionCodeSize = regionCodes.getSize(); - regions = new ArrayList(regionCodeSize); - for ( int i = 0 ; i < regionCodeSize ; i++ ) { + for ( String id : regionCodes) { Region r = new Region(); - String id = regionCodes.getString(i); r.id = id; r.type = RegionType.TERRITORY; // Only temporary - figure out the real type later once the aliases are known. regionIDMap.put(id, r); diff --git a/icu4j/main/shared/data/icudata.jar b/icu4j/main/shared/data/icudata.jar index 4a85b38b3e2..76da83a89d6 100755 --- a/icu4j/main/shared/data/icudata.jar +++ b/icu4j/main/shared/data/icudata.jar @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ef58b4d03abe9975e6edb9990ce439d8e3345ad4740a7cfc871e1c5045438f59 -size 11299928 +oid sha256:07f7c95a1453a22602e169b5d16ce285225bd5067b0759c133c3fb309238bc72 +size 11633190 diff --git a/icu4j/main/shared/data/icutzdata.jar b/icu4j/main/shared/data/icutzdata.jar index 05f0e9d0f24..12856c90fb8 100755 --- a/icu4j/main/shared/data/icutzdata.jar +++ b/icu4j/main/shared/data/icutzdata.jar @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1889854278bb9b526156ed79f109aa33f11081a0e2631fdda3345a82dcc27aea +oid sha256:4fd48501a8a484fee5f8644d688bb758e94e422de926cae0b939fa69eaefebeb size 90027 diff --git a/icu4j/main/shared/data/testdata.jar b/icu4j/main/shared/data/testdata.jar index 3b1dd41042f..0990d34d2d5 100755 --- a/icu4j/main/shared/data/testdata.jar +++ b/icu4j/main/shared/data/testdata.jar @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9fdfa662068712422ee7612f2b56b41b7248ad647b36fa074b91fe2e73024cf8 -size 810159 +oid sha256:52c9ceed6daf4f37d174ef340e1fbf1d4aac64e2d8e78bcc916811e4e4876e65 +size 811232 diff --git a/icu4j/main/tests/collate/src/com/ibm/icu/dev/test/util/ULocaleCollationTest.java b/icu4j/main/tests/collate/src/com/ibm/icu/dev/test/util/ULocaleCollationTest.java index ceb1382914a..402b3ae2df2 100644 --- a/icu4j/main/tests/collate/src/com/ibm/icu/dev/test/util/ULocaleCollationTest.java +++ b/icu4j/main/tests/collate/src/com/ibm/icu/dev/test/util/ULocaleCollationTest.java @@ -249,8 +249,8 @@ public class ULocaleCollationTest extends TestFmwk { {{"iw", "iw-US", "no", "no-Cyrl", "in", "in-YU"}, {"Hébreu (États-Unis)", "עברית (ארצות הברית)", "iw_US", "iw_US"}, {"Hébreu (Israël)", "עברית (ישראל)", "iw", "iw_IL"}, - {"Indonésien (Indonésie)", "Bahasa Indonesia (Indonesia)", "in", "in_ID"}, - {"Indonésien (Serbie)", "Bahasa Indonesia (Serbia)", "in_YU", "in_YU"}, + {"Indonésien (Indonésie)", "Indonesia (Indonesia)", "in", "in_ID"}, + {"Indonésien (Serbie)", "Indonesia (Serbia)", "in_YU", "in_YU"}, {"Norvégien (cyrillique)", "Norsk (kyrillisk)", "no_Cyrl", "no_Cyrl"}, {"Norvégien (latin)", "Norsk (latinsk)", "no", "no_Latn"}, }, diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/CompactDecimalFormatTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/CompactDecimalFormatTest.java index 5dc1017cca3..2511cd0109c 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/CompactDecimalFormatTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/CompactDecimalFormatTest.java @@ -1,6 +1,6 @@ /* ******************************************************************************* - * Copyright (C) 1996-2014, Google, International Business Machines Corporation and + * Copyright (C) 1996-2015, Google, International Business Machines Corporation and * others. All Rights Reserved. * ******************************************************************************* */ @@ -111,7 +111,7 @@ public class CompactDecimalFormatTest extends TestFmwk { }; Object[][] JapaneseTestData = { - {1234f, "1.2千"}, + {1234f, "1200"}, {12345f, "1.2万"}, {123456f, "12万"}, {1234567f, "120万"}, @@ -159,8 +159,8 @@ public class CompactDecimalFormatTest extends TestFmwk { Object[][] SkTestDataLong = { {1000, "1 tis\u00edc"}, - {1572, "1,6 tis\u00edc"}, - {5184, "5,2 tis\u00edc"}, + {1572, "1,6 tis\u00edca"}, + {5184, "5,2 tis\u00edca"}, }; Object[][] SwahiliTestDataNegative = { diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatTest.java index b4951fac11d..9806a6ac5db 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateFormatTest.java @@ -1257,8 +1257,8 @@ public class DateFormatTest extends com.ibm.icu.dev.test.TestFmwk { { "bg", "Europe/London", "2004-07-15T00:00:00Z", "ZZZZ", GMT_BG+"+01:00", "+1:00" }, { "bg", "Europe/London", "2004-07-15T00:00:00Z", "z", GMT_BG+"+1", "+1:00" }, { "bg", "Europe/London", "2004-07-15T00:00:00Z", "zzzz", "\u0411\u0440\u0438\u0442\u0430\u043d\u0441\u043a\u043e \u043b\u044f\u0442\u043d\u043e \u0447\u0430\u0441\u043e\u0432\u043e \u0432\u0440\u0435\u043c\u0435", "+1:00" }, - { "bg", "Europe/London", "2004-07-15T00:00:00Z", "v", "\u0412\u0435\u043b\u0438\u043a\u043e\u0431\u0440\u0438\u0442\u0430\u043d\u0438\u044f", "Europe/London" }, - { "bg", "Europe/London", "2004-07-15T00:00:00Z", "vvvv", "\u0412\u0435\u043b\u0438\u043a\u043e\u0431\u0440\u0438\u0442\u0430\u043d\u0438\u044f", "Europe/London" }, + { "bg", "Europe/London", "2004-07-15T00:00:00Z", "v", "\u041e\u0431\u0435\u0434\u0438\u043d\u0435\u043d\u043e\u0442\u043e \u043a\u0440\u0430\u043b\u0441\u0442\u0432\u043e", "Europe/London" }, + { "bg", "Europe/London", "2004-07-15T00:00:00Z", "vvvv", "\u041e\u0431\u0435\u0434\u0438\u043d\u0435\u043d\u043e\u0442\u043e \u043a\u0440\u0430\u043b\u0441\u0442\u0432\u043e", "Europe/London" }, { "bg", "Etc/GMT+3", "2004-01-15T00:00:00Z", "Z", "-0300", "-3:00" }, { "bg", "Etc/GMT+3", "2004-01-15T00:00:00Z", "ZZZZ", GMT_BG+"-03:00", "-3:00" }, @@ -1981,7 +1981,7 @@ public class DateFormatTest extends com.ibm.icu.dev.test.TestFmwk { TimeZone tz = TimeZone.getTimeZone("PST"); dfFrench.setTimeZone(tz); dfUS.setTimeZone(tz); - String expectedFRENCH_JDK12 = "lundi 15 septembre 1997 00:00:00 heure d\u2019\u00E9t\u00E9 du Pacifique"; + String expectedFRENCH_JDK12 = "lundi 15 septembre 1997 \u00E0 00:00:00 heure d\u2019\u00E9t\u00E9 du Pacifique"; //String expectedFRENCH = "lundi 15 septembre 1997 00 h 00 PDT"; String expectedUS = "Monday, September 15, 1997 at 12:00:00 AM Pacific Daylight Time"; logln("Date set to : " + testDate); @@ -2835,8 +2835,8 @@ public class DateFormatTest extends com.ibm.icu.dev.test.TestFmwk { "EEEEEE d MMM y", "fp", "2013 01 13 0:00:00", "s\u00F6 13 jan. 2013", "2013 01 13 0:00:00", "EEEEEE d MMM y", "fp", "2013 01 16 0:00:00", "on 16 jan. 2013", "2013 01 16 0:00:00", "EEEEEE d", "fp", "1970 01 17 0:00:00", "l\u00F6 17", "1970 01 17 0:00:00", - "cccccc d", "fp", "1970 01 17 0:00:00", "L\u00F6 17", "1970 01 17 0:00:00", - "cccccc", "fp", "1970 01 03 0:00:00", "L\u00F6", "1970 01 03 0:00:00", + "cccccc d", "fp", "1970 01 17 0:00:00", "l\u00F6 17", "1970 01 17 0:00:00", + "cccccc", "fp", "1970 01 03 0:00:00", "l\u00F6", "1970 01 03 0:00:00", }; expect(EN_DATA, new Locale("en", "", "")); @@ -2947,8 +2947,8 @@ public class DateFormatTest extends com.ibm.icu.dev.test.TestFmwk { "ccccc", "1970 01 02 0:00:00", "P", "ccccc", "1970 01 03 0:00:00", "S", - "h:mm a", "2015 01 01 10:00:00", "10:00 dopoledne", - "h:mm a", "2015 01 01 22:00:00", "10:00 odpoledne", + "h:mm a", "2015 01 01 10:00:00", "10:00 dop.", + "h:mm a", "2015 01 01 22:00:00", "10:00 odp.", "h:mm aaaaa", "2015 01 01 10:00:00", "10:00 dop.", "h:mm aaaaa", "2015 01 01 22:00:00", "10:00 odp.", }; @@ -2958,8 +2958,8 @@ public class DateFormatTest extends com.ibm.icu.dev.test.TestFmwk { "h:mm a", "2015 01 01 10:00:00", "10:00 a. m.", "h:mm a", "2015 01 01 22:00:00", "10:00 p. m.", - "h:mm aaaaa", "2015 01 01 10:00:00", "10:00 a.m.", - "h:mm aaaaa", "2015 01 01 22:00:00", "10:00 p.m.", + "h:mm aaaaa", "2015 01 01 10:00:00", "10:00 a. m.", + "h:mm aaaaa", "2015 01 01 22:00:00", "10:00 p. m.", }; expectFormat(EN_DATA, new Locale("en", "", "")); diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateTimeGeneratorTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateTimeGeneratorTest.java index 10060ce5120..c731af70336 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateTimeGeneratorTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/DateTimeGeneratorTest.java @@ -443,20 +443,20 @@ public class DateTimeGeneratorTest extends TestFmwk { new ULocale("ru"), new String[] {"yM", "01.1999"}, - new String[] {"yMMM", "\u044F\u043D\u0432. 1999"}, + new String[] {"yMMM", "\u044F\u043D\u0432. 1999 \u0433."}, new String[] {"yMd", "13.01.1999"}, new String[] {"yMMMd", "13 \u044F\u043D\u0432. 1999 \u0433."}, new String[] {"Md", "13.01"}, new String[] {"MMMd", "13 \u044F\u043D\u0432."}, new String[] {"MMMMd", "13 \u044F\u043D\u0432\u0430\u0440\u044F"}, new String[] {"yQQQ", "1-\u0439 \u043A\u0432. 1999 \u0433."}, - new String[] {"hhmm", "11:58 PM"}, + new String[] {"hhmm", "11:58 \u041F\u041F"}, new String[] {"HHmm", "23:58"}, new String[] {"jjmm", "23:58"}, new String[] {"mmss", "58:59"}, - new String[] {"yyyyMMMM", "\u044F\u043D\u0432\u0430\u0440\u044C 1999"}, - new String[] {"MMMEd", "\u0421\u0440, 13 \u044F\u043D\u0432."}, - new String[] {"Ed", "\u0421\u0440, 13"}, + new String[] {"yyyyMMMM", "\u044F\u043D\u0432\u0430\u0440\u044C 1999 \u0433."}, + new String[] {"MMMEd", "\u0441\u0440, 13 \u044F\u043D\u0432."}, + new String[] {"Ed", "\u0441\u0440, 13"}, new String[] {"jmmssSSS", "23:58:59,123"}, new String[] {"JJmm", "23:58"}, @@ -1206,12 +1206,12 @@ public class DateTimeGeneratorTest extends TestFmwk { new TestOptionsItem( "en", "Hmm", "HH:mm", DateTimePatternGenerator.MATCH_HOUR_FIELD_LENGTH ), new TestOptionsItem( "en", "HHmm", "HH:mm", DateTimePatternGenerator.MATCH_HOUR_FIELD_LENGTH ), new TestOptionsItem( "en", "hhmm", "hh:mm a", DateTimePatternGenerator.MATCH_HOUR_FIELD_LENGTH ), - new TestOptionsItem( "be", "Hmm", "HH.mm", DateTimePatternGenerator.MATCH_NO_OPTIONS ), - new TestOptionsItem( "be", "HHmm", "HH.mm", DateTimePatternGenerator.MATCH_NO_OPTIONS ), - new TestOptionsItem( "be", "hhmm", "h.mm a", DateTimePatternGenerator.MATCH_NO_OPTIONS ), - new TestOptionsItem( "be", "Hmm", "H.mm", DateTimePatternGenerator.MATCH_HOUR_FIELD_LENGTH ), - new TestOptionsItem( "be", "HHmm", "HH.mm", DateTimePatternGenerator.MATCH_HOUR_FIELD_LENGTH ), - new TestOptionsItem( "be", "hhmm", "hh.mm a", DateTimePatternGenerator.MATCH_HOUR_FIELD_LENGTH ), + new TestOptionsItem( "da", "Hmm", "HH.mm", DateTimePatternGenerator.MATCH_NO_OPTIONS ), + new TestOptionsItem( "da", "HHmm", "HH.mm", DateTimePatternGenerator.MATCH_NO_OPTIONS ), + new TestOptionsItem( "da", "hhmm", "h.mm a", DateTimePatternGenerator.MATCH_NO_OPTIONS ), + new TestOptionsItem( "da", "Hmm", "H.mm", DateTimePatternGenerator.MATCH_HOUR_FIELD_LENGTH ), + new TestOptionsItem( "da", "HHmm", "HH.mm", DateTimePatternGenerator.MATCH_HOUR_FIELD_LENGTH ), + new TestOptionsItem( "da", "hhmm", "hh.mm a", DateTimePatternGenerator.MATCH_HOUR_FIELD_LENGTH ), // new TestOptionsItem( "en", "yyyy", "yyyy", DateTimePatternGenerator.MATCH_NO_OPTIONS ), new TestOptionsItem( "en", "YYYY", "YYYY", DateTimePatternGenerator.MATCH_NO_OPTIONS ), diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java index 26faf826beb..0eb667b9044 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/MeasureUnitTest.java @@ -1024,8 +1024,8 @@ public class MeasureUnitTest extends TestFmwk { {ULocale.ENGLISH, FormatWidth.WIDE, "2 miles, 1 foot, 2.3 inches"}, {ULocale.ENGLISH, FormatWidth.SHORT, "2 mi, 1 ft, 2.3 in"}, {ULocale.ENGLISH, FormatWidth.NARROW, "2mi 1\u2032 2.3\u2033"}, - {russia, FormatWidth.WIDE, "2 \u043C\u0438\u043B\u0438, 1 \u0444\u0443\u0442 \u0438 2,3 \u0434\u044E\u0439\u043C\u0430"}, - {russia, FormatWidth.SHORT, "2 \u043C\u0438\u043B\u0438, 1 \u0444\u0443\u0442, 2,3 \u0434\u044E\u0439\u043C."}, + {russia, FormatWidth.WIDE, "2 \u043C\u0438\u043B\u0438 1 \u0444\u0443\u0442 \u0438 2,3 \u0434\u044E\u0439\u043C\u0430"}, + {russia, FormatWidth.SHORT, "2 \u043C\u0438\u043B\u0438 1 \u0444\u0443\u0442 \u0438 2,3 \u0434\u044E\u0439\u043C."}, {russia, FormatWidth.NARROW, "2 \u043C\u0438\u043B\u044C 1 \u0444\u0443\u0442 2,3 \u0434\u044E\u0439\u043C\u0430"}, }; for (Object[] row : data) { @@ -1051,22 +1051,22 @@ public class MeasureUnitTest extends TestFmwk { {FormatWidth.WIDE, 1.0, MeasureUnit.MINUTE, "1 pound per minute", DONT_CARE, 0, 0}, {FormatWidth.WIDE, 2.0, MeasureUnit.MINUTE, "2 pounds per minute", DONT_CARE, 0, 0}, // per unit - {FormatWidth.SHORT, 1.0, MeasureUnit.SECOND, "1 lbps", DONT_CARE, 0, 0}, - {FormatWidth.SHORT, 2.0, MeasureUnit.SECOND, "2 lbsps", DONT_CARE, 0, 0}, + {FormatWidth.SHORT, 1.0, MeasureUnit.SECOND, "1 lb/s", DONT_CARE, 0, 0}, + {FormatWidth.SHORT, 2.0, MeasureUnit.SECOND, "2 lb/s", DONT_CARE, 0, 0}, // compound {FormatWidth.SHORT, 1.0, MeasureUnit.MINUTE, "1 lb/min", DONT_CARE, 0, 0}, - {FormatWidth.SHORT, 2.0, MeasureUnit.MINUTE, "2 lbs/min", DONT_CARE, 0, 0}, + {FormatWidth.SHORT, 2.0, MeasureUnit.MINUTE, "2 lb/min", DONT_CARE, 0, 0}, // per unit {FormatWidth.NARROW, 1.0, MeasureUnit.SECOND, "1#/s", DONT_CARE, 0, 0}, {FormatWidth.NARROW, 2.0, MeasureUnit.SECOND, "2#/s", DONT_CARE, 0, 0}, // compound - {FormatWidth.NARROW, 1.0, MeasureUnit.MINUTE, "1#/m", DONT_CARE, 0, 0}, - {FormatWidth.NARROW, 2.0, MeasureUnit.MINUTE, "2#/m", DONT_CARE, 0, 0}, + {FormatWidth.NARROW, 1.0, MeasureUnit.MINUTE, "1#/min", DONT_CARE, 0, 0}, + {FormatWidth.NARROW, 2.0, MeasureUnit.MINUTE, "2#/min", DONT_CARE, 0, 0}, // field positions - {FormatWidth.SHORT, 23.3, MeasureUnit.SECOND, "23.3 lbsps", NumberFormat.Field.DECIMAL_SEPARATOR, 2, 3}, - {FormatWidth.SHORT, 23.3, MeasureUnit.SECOND, "23.3 lbsps", NumberFormat.Field.INTEGER, 0, 2}, - {FormatWidth.SHORT, 23.3, MeasureUnit.MINUTE, "23.3 lbs/min", NumberFormat.Field.DECIMAL_SEPARATOR, 2, 3}, - {FormatWidth.SHORT, 23.3, MeasureUnit.MINUTE, "23.3 lbs/min", NumberFormat.Field.INTEGER, 0, 2}, + {FormatWidth.SHORT, 23.3, MeasureUnit.SECOND, "23.3 lb/s", NumberFormat.Field.DECIMAL_SEPARATOR, 2, 3}, + {FormatWidth.SHORT, 23.3, MeasureUnit.SECOND, "23.3 lb/s", NumberFormat.Field.INTEGER, 0, 2}, + {FormatWidth.SHORT, 23.3, MeasureUnit.MINUTE, "23.3 lb/min", NumberFormat.Field.DECIMAL_SEPARATOR, 2, 3}, + {FormatWidth.SHORT, 23.3, MeasureUnit.MINUTE, "23.3 lb/min", NumberFormat.Field.INTEGER, 0, 2}, }; diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java index caa7a19477f..e170ef6670d 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/NumberFormatTest.java @@ -7,7 +7,7 @@ /** * Port From: ICU4C v1.8.1 : format : NumberFormatTest - * Source File: $ICU4CRoot/source/test/intltest/numfmtst.cpp + * Source File: $ICU4oot/source/test/intltest/numfmtst.cpp **/ package com.ibm.icu.dev.test.format; @@ -1028,10 +1028,10 @@ public class NumberFormatTest extends com.ibm.icu.dev.test.TestFmwk { {"en_US", "1", "USD", "$1.00", "USD1.00", "1.00 US dollars"}, {"en_US", "1234.56", "USD", "$1,234.56", "USD1,234.56", "1,234.56 US dollars"}, {"en_US", "-1234.56", "USD", "-$1,234.56", "-USD1,234.56", "-1,234.56 US dollars"}, - {"zh_CN", "1", "USD", "US$\u00A01.00", "USD\u00A01.00", "1.00美元"}, - {"zh_CN", "1234.56", "USD", "US$\u00A01,234.56", "USD\u00A01,234.56", "1,234.56美元"}, - {"zh_CN", "1", "CNY", "¥\u00A01.00", "CNY\u00A01.00", "1.00人民币"}, - {"zh_CN", "1234.56", "CNY", "¥\u00A01,234.56", "CNY\u00A01,234.56", "1,234.56人民币"}, + {"zh_CN", "1", "USD", "US$1.00", "USD1.00", "1.00美元"}, + {"zh_CN", "1234.56", "USD", "US$1,234.56", "USD1,234.56", "1,234.56美元"}, + {"zh_CN", "1", "CNY", "¥1.00", "CNY1.00", "1.00人民币"}, + {"zh_CN", "1234.56", "CNY", "¥1,234.56", "CNY1,234.56", "1,234.56人民币"}, {"ru_RU", "1", "RUB", "1,00 \u20BD", "1,00 RUB", "1,00 российского рубля"}, {"ru_RU", "2", "RUB", "2,00 \u20BD", "2,00 RUB", "2,00 российского рубля"}, {"ru_RU", "5", "RUB", "5,00 \u20BD", "5,00 RUB", "5,00 российского рубля"}, @@ -1039,7 +1039,7 @@ public class NumberFormatTest extends com.ibm.icu.dev.test.TestFmwk { {"root", "-1.23", "USD", "-US$ 1.23", "-USD 1.23", "-1.23 USD"}, {"root@numbers=latn", "-1.23", "USD", "-US$ 1.23", "-USD 1.23", "-1.23 USD"}, // ensure that the root locale is still used with modifiers {"root@numbers=arab", "-1.23", "USD", "\u200F-US$ ١٫٢٣", "\u200F-USD ١٫٢٣", "\u200F-١٫٢٣ USD"}, // ensure that the root locale is still used with modifiers - {"es_AR", "1", "INR", "INR1,00", "INR1,00", "1,00 rupia india"}, + {"es_AR", "1", "INR", "INR\u00A01,00", "INR\u00A01,00", "1,00 rupia india"}, {"ar_EG", "1", "USD", "US$ ١٫٠٠", "USD ١٫٠٠", "١٫٠٠ دولار أمريكي"}, }; @@ -3535,7 +3535,6 @@ public class NumberFormatTest extends com.ibm.icu.dev.test.TestFmwk { // starting with CLDR 2.0 String[] DATA = { "es", "CO", "", "1.250,75", - "es", "CR", "", "1.250,75", "es", "ES", "", "1.250,75", "es", "GQ", "", "1.250,75", "es", "MX", "", "1,250.75", diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/PluralRulesTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/PluralRulesTest.java index 8ba8dbcc947..63c0c41a80e 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/PluralRulesTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/format/PluralRulesTest.java @@ -1,6 +1,6 @@ /* ******************************************************************************* - * Copyright (C) 2007-2014, International Business Machines Corporation and + * Copyright (C) 2007-2015, International Business Machines Corporation and * others. All Rights Reserved. ******************************************************************************* */ @@ -766,7 +766,7 @@ public class PluralRulesTest extends TestFmwk { for (PluralType type : PluralType.values()) { PluralRules rules = PluralRules.forLocale(locale, type); for (SampleType sampleType : SampleType.values()) { - if (sampleType == SampleType.DECIMAL && type == PluralType.ORDINAL) { + if (type == PluralType.ORDINAL) { logKnownIssue("10783", "Fix issues with isLimited vs computeLimited on ordinals"); continue; } diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/util/ICUResourceBundleTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/util/ICUResourceBundleTest.java index 6dcd2292cee..55e1943b9a5 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/util/ICUResourceBundleTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/util/ICUResourceBundleTest.java @@ -689,7 +689,7 @@ public final class ICUResourceBundleTest extends TestFmwk { } if(!hasLocalizedCountryFor(locales[i], locales[i]) && !(locales[i].getLanguage().equals("ti") || // TODO: restore test for ti_* when cldrbug 3058 is fixed - ((locales[i].getBaseName().equals("sah_RU") || locales[i].getBaseName().equals("smn_FI")) && logKnownIssue("cldrbug:7872", "No localized region name for sah_RU, smn_FI")))) { + ((locales[i].getBaseName().equals("lrc_IQ") || locales[i].getBaseName().equals("lrc_IR") || locales[i].getBaseName().equals("nus_SS")) && logKnownIssue("cldrbug:8903", "No localized region name for lrc_IQ, lrc_IR, nus_SS")))) { errln("Could not get native localized country for " + locales[i]); hasLocalizedCountryFor(locales[i], locales[i]); } diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java index c56c94e38fb..741b5d97bb3 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/util/ULocaleTest.java @@ -1388,10 +1388,10 @@ public class ULocaleTest extends TestFmwk { h[1].put("collation", "\u6392\u5E8F"); h[1].put("calendar", "\u65E5\u5386"); h[1].put("currency", "\u8D27\u5E01"); - h[1].put("phonebook", "\u7535\u8BDD\u7C3F\u6392\u5E8F\u987A\u5E8F"); + h[1].put("phonebook", "\u7535\u8BDD\u7C3F\u6392\u5E8F"); h[1].put("pinyin", "\u62FC\u97F3\u6392\u5E8F"); h[1].put("stroke", "\u7B14\u5212\u987A\u5E8F"); - h[1].put("traditional", "\u4F20\u7EDF\u6392\u5E8F\u987A\u5E8F"); + h[1].put("traditional", "\u4F20\u7EDF\u6392\u5E8F"); h[1].put("japanese", "\u65E5\u672C\u65E5\u5386"); h[1].put("buddhist", "\u4F5B\u6559\u65E5\u5386"); h[1].put("islamic", "\u4F0A\u65AF\u5170\u65E5\u5386"); -- 2.40.0