diff options
author | 2022-11-01 15:54:32 +0000 | |
---|---|---|
committer | 2022-11-15 15:06:12 +0000 | |
commit | 7028838e8a6692d2fe9627184447e6be2fc2c769 (patch) | |
tree | 2ffb3876b7d4e7821691328d4b8ee6196484bff8 | |
parent | 9e7649d5e72a48ff487e0d283806a9e179667386 (diff) |
Update android.text.format tests and regenerate LocaleDataTables.cpp due to ICU 72 upgrade
The command:
./tools/localedata/extract_icu_data.py $ANDROID_BUILD_TOP > libs/androidfw/LocaleDataTables.cpp
Bug: 239910154
Test: atest FrameworksCoreTests:android.text.format
Change-Id: I28d816021056d0c7b39789f830663a7da6fcbe70
5 files changed, 156 insertions, 130 deletions
diff --git a/core/tests/coretests/src/android/text/format/DateFormatTest.java b/core/tests/coretests/src/android/text/format/DateFormatTest.java index 212cc44eefab..8459330cc07b 100644 --- a/core/tests/coretests/src/android/text/format/DateFormatTest.java +++ b/core/tests/coretests/src/android/text/format/DateFormatTest.java @@ -156,8 +156,8 @@ public class DateFormatTest { @DisableCompatChanges({DateFormat.DISALLOW_DUPLICATE_FIELD_IN_SKELETON}) public void testGetBestDateTimePattern_enableDuplicateField() { // en-US uses 12-hour format by default. - assertEquals("h:mm a", DateFormat.getBestDateTimePattern(Locale.US, "jmma")); - assertEquals("h:mm a", DateFormat.getBestDateTimePattern(Locale.US, "ahmma")); + assertEquals("h:mm\u202fa", DateFormat.getBestDateTimePattern(Locale.US, "jmma")); + assertEquals("h:mm\u202fa", DateFormat.getBestDateTimePattern(Locale.US, "ahmma")); } private static void assertIllegalArgumentException(Locale l, String skeleton) { diff --git a/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java b/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java index 9c063954c0ad..de7244d49834 100644 --- a/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java +++ b/core/tests/coretests/src/android/text/format/DateIntervalFormatTest.java @@ -93,7 +93,8 @@ public class DateIntervalFormatTest { assertEquals("January 19", formatDateRange(en_US, tz, timeWithCurrentYear, timeWithCurrentYear + HOUR, FORMAT_SHOW_DATE)); - assertEquals("3:30 AM", formatDateRange(en_US, tz, fixedTime, fixedTime, FORMAT_SHOW_TIME)); + assertEquals("3:30\u202fAM", formatDateRange(en_US, tz, fixedTime, fixedTime, + FORMAT_SHOW_TIME)); assertEquals("January 19, 2009", formatDateRange(en_US, tz, fixedTime, fixedTime + HOUR, FORMAT_SHOW_YEAR)); assertEquals("January 19", @@ -101,27 +102,27 @@ public class DateIntervalFormatTest { assertEquals("January", formatDateRange(en_US, tz, timeWithCurrentYear, timeWithCurrentYear + HOUR, FORMAT_NO_MONTH_DAY)); - assertEquals("3:30 AM", + assertEquals("3:30\u202fAM", formatDateRange(en_US, tz, fixedTime, fixedTime, FORMAT_12HOUR | FORMAT_SHOW_TIME)); assertEquals("03:30", formatDateRange(en_US, tz, fixedTime, fixedTime, FORMAT_24HOUR | FORMAT_SHOW_TIME)); - assertEquals("3:30 AM", formatDateRange(en_US, tz, fixedTime, fixedTime, + assertEquals("3:30\u202fAM", formatDateRange(en_US, tz, fixedTime, fixedTime, FORMAT_12HOUR /*| FORMAT_CAP_AMPM*/ | FORMAT_SHOW_TIME)); - assertEquals("12:00 PM", + assertEquals("12:00\u202fPM", formatDateRange(en_US, tz, fixedTime + noonDuration, fixedTime + noonDuration, FORMAT_12HOUR | FORMAT_SHOW_TIME)); - assertEquals("12:00 PM", + assertEquals("12:00\u202fPM", formatDateRange(en_US, tz, fixedTime + noonDuration, fixedTime + noonDuration, FORMAT_12HOUR | FORMAT_SHOW_TIME /*| FORMAT_CAP_NOON*/)); - assertEquals("12:00 PM", + assertEquals("12:00\u202fPM", formatDateRange(en_US, tz, fixedTime + noonDuration, fixedTime + noonDuration, FORMAT_12HOUR /*| FORMAT_NO_NOON*/ | FORMAT_SHOW_TIME)); - assertEquals("12:00 AM", formatDateRange(en_US, tz, fixedTime - midnightDuration, + assertEquals("12:00\u202fAM", formatDateRange(en_US, tz, fixedTime - midnightDuration, fixedTime - midnightDuration, FORMAT_12HOUR | FORMAT_SHOW_TIME /*| FORMAT_NO_MIDNIGHT*/)); - assertEquals("3:30 AM", + assertEquals("3:30\u202fAM", formatDateRange(en_US, tz, fixedTime, fixedTime, FORMAT_SHOW_TIME | FORMAT_UTC)); - assertEquals("3 AM", formatDateRange(en_US, tz, onTheHour, onTheHour, + assertEquals("3\u202fAM", formatDateRange(en_US, tz, onTheHour, onTheHour, FORMAT_SHOW_TIME | FORMAT_ABBREV_TIME)); assertEquals("Mon", formatDateRange(en_US, tz, fixedTime, fixedTime + HOUR, FORMAT_SHOW_WEEKDAY | FORMAT_ABBREV_WEEKDAY)); @@ -134,13 +135,13 @@ public class DateIntervalFormatTest { assertEquals("1/19/2009", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * HOUR, FORMAT_SHOW_YEAR | FORMAT_NUMERIC_DATE)); - assertEquals("1/19/2009 – 1/22/2009", + assertEquals("1/19/2009\u2009\u2013\u20091/22/2009", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * DAY, FORMAT_SHOW_YEAR | FORMAT_NUMERIC_DATE)); - assertEquals("1/19/2009 – 4/22/2009", + assertEquals("1/19/2009\u2009\u2013\u20094/22/2009", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_SHOW_YEAR | FORMAT_NUMERIC_DATE)); - assertEquals("1/19/2009 – 2/9/2012", + assertEquals("1/19/2009\u2009\u2013\u20092/9/2012", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_SHOW_YEAR | FORMAT_NUMERIC_DATE)); @@ -151,7 +152,7 @@ public class DateIntervalFormatTest { assertEquals("19.01. – 22.04.2009", formatDateRange(de_DE, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_SHOW_YEAR | FORMAT_NUMERIC_DATE)); - assertEquals("19.01.2009 – 09.02.2012", + assertEquals("19.01.2009\u2009\u2013\u200909.02.2012", formatDateRange(de_DE, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_SHOW_YEAR | FORMAT_NUMERIC_DATE)); @@ -169,48 +170,48 @@ public class DateIntervalFormatTest { assertEquals("19/1/2009", formatDateRange(es_ES, tz, fixedTime, fixedTime + HOUR, FORMAT_SHOW_YEAR | FORMAT_NUMERIC_DATE)); - assertEquals("19/1/2009 – 22/1/2009", + assertEquals("19/1/2009\u2009\u2013\u200922/1/2009", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * DAY, FORMAT_SHOW_YEAR | FORMAT_NUMERIC_DATE)); - assertEquals("19/1/2009 – 22/4/2009", + assertEquals("19/1/2009\u2009\u2013\u200922/4/2009", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_SHOW_YEAR | FORMAT_NUMERIC_DATE)); - assertEquals("19/1/2009 – 9/2/2012", + assertEquals("19/1/2009\u2009\u2013\u20099/2/2012", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_SHOW_YEAR | FORMAT_NUMERIC_DATE)); // These are some random other test cases I came up with. - assertEquals("January 19 – 22, 2009", + assertEquals("January 19\u2009\u2013\u200922, 2009", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * DAY, 0)); - assertEquals("Jan 19 – 22, 2009", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * DAY, - FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); - assertEquals("Mon, Jan 19 – Thu, Jan 22, 2009", + assertEquals("Jan 19\u2009\u2013\u200922, 2009", formatDateRange(en_US, tz, fixedTime, + fixedTime + 3 * DAY, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); + assertEquals("Mon, Jan 19\u2009\u2013\u2009Thu, Jan 22, 2009", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * DAY, FORMAT_SHOW_WEEKDAY | FORMAT_ABBREV_ALL)); - assertEquals("Monday, January 19 – Thursday, January 22, 2009", + assertEquals("Monday, January 19\u2009\u2013\u2009Thursday, January 22, 2009", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * DAY, FORMAT_SHOW_WEEKDAY)); - assertEquals("January 19 – April 22, 2009", + assertEquals("January 19\u2009\u2013\u2009April 22, 2009", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * MONTH, 0)); - assertEquals("Jan 19 – Apr 22, 2009", + assertEquals("Jan 19\u2009\u2013\u2009Apr 22, 2009", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); - assertEquals("Mon, Jan 19 – Wed, Apr 22, 2009", + assertEquals("Mon, Jan 19\u2009\u2013\u2009Wed, Apr 22, 2009", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_SHOW_WEEKDAY | FORMAT_ABBREV_ALL)); - assertEquals("January – April 2009", + assertEquals("January\u2009\u2013\u2009April 2009", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_NO_MONTH_DAY)); - assertEquals("Jan 19, 2009 – Feb 9, 2012", + assertEquals("Jan 19, 2009\u2009\u2013\u2009Feb 9, 2012", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); - assertEquals("Jan 2009 – Feb 2012", + assertEquals("Jan 2009\u2009\u2013\u2009Feb 2012", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_NO_MONTH_DAY | FORMAT_ABBREV_ALL)); - assertEquals("January 19, 2009 – February 9, 2012", + assertEquals("January 19, 2009\u2009\u2013\u2009February 9, 2012", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * YEAR, 0)); - assertEquals("Monday, January 19, 2009 – Thursday, February 9, 2012", + assertEquals("Monday, January 19, 2009\u2009\u2013\u2009Thursday, February 9, 2012", formatDateRange(en_US, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_SHOW_WEEKDAY)); // The same tests but for de_DE. @@ -225,26 +226,26 @@ public class DateIntervalFormatTest { assertEquals("Montag, 19. – Donnerstag, 22. Januar 2009", formatDateRange(de_DE, tz, fixedTime, fixedTime + 3 * DAY, FORMAT_SHOW_WEEKDAY)); - assertEquals("19. Januar – 22. April 2009", + assertEquals("19. Januar\u2009\u2013\u200922. April 2009", formatDateRange(de_DE, tz, fixedTime, fixedTime + 3 * MONTH, 0)); - assertEquals("19. Jan. – 22. Apr. 2009", + assertEquals("19. Jan.\u2009\u2013\u200922. Apr. 2009", formatDateRange(de_DE, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); - assertEquals("Mo., 19. Jan. – Mi., 22. Apr. 2009", + assertEquals("Mo., 19. Jan.\u2009\u2013\u2009Mi., 22. Apr. 2009", formatDateRange(de_DE, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_SHOW_WEEKDAY | FORMAT_ABBREV_ALL)); assertEquals("Januar–April 2009", formatDateRange(de_DE, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_NO_MONTH_DAY)); - assertEquals("19. Jan. 2009 – 9. Feb. 2012", + assertEquals("19. Jan. 2009\u2009\u2013\u20099. Feb. 2012", formatDateRange(de_DE, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); - assertEquals("Jan. 2009 – Feb. 2012", + assertEquals("Jan. 2009\u2009\u2013\u2009Feb. 2012", formatDateRange(de_DE, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_NO_MONTH_DAY | FORMAT_ABBREV_ALL)); - assertEquals("19. Januar 2009 – 9. Februar 2012", + assertEquals("19. Januar 2009\u2009\u2013\u20099. Februar 2012", formatDateRange(de_DE, tz, fixedTime, fixedTime + 3 * YEAR, 0)); - assertEquals("Montag, 19. Januar 2009 – Donnerstag, 9. Februar 2012", + assertEquals("Montag, 19. Januar 2009\u2009\u2013\u2009Donnerstag, 9. Februar 2012", formatDateRange(de_DE, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_SHOW_WEEKDAY)); // The same tests but for es_US. @@ -254,32 +255,32 @@ public class DateIntervalFormatTest { assertEquals("19–22 de ene de 2009", formatDateRange(es_US, tz, fixedTime, fixedTime + 3 * DAY, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); - assertEquals("lun, 19 de ene – jue, 22 de ene de 2009", + assertEquals("lun, 19 de ene\u2009\u2013\u2009jue, 22 de ene de 2009", formatDateRange(es_US, tz, fixedTime, fixedTime + 3 * DAY, FORMAT_SHOW_WEEKDAY | FORMAT_ABBREV_ALL)); - assertEquals("lunes, 19 de enero – jueves, 22 de enero de 2009", + assertEquals("lunes, 19 de enero\u2009\u2013\u2009jueves, 22 de enero de 2009", formatDateRange(es_US, tz, fixedTime, fixedTime + 3 * DAY, FORMAT_SHOW_WEEKDAY)); - assertEquals("19 de enero – 22 de abril de 2009", + assertEquals("19 de enero\u2009\u2013\u200922 de abril de 2009", formatDateRange(es_US, tz, fixedTime, fixedTime + 3 * MONTH, 0)); - assertEquals("19 de ene – 22 de abr 2009", + assertEquals("19 de ene\u2009\u2013\u200922 de abr 2009", formatDateRange(es_US, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); - assertEquals("lun, 19 de ene – mié, 22 de abr de 2009", + assertEquals("lun, 19 de ene\u2009\u2013\u2009mié, 22 de abr de 2009", formatDateRange(es_US, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_SHOW_WEEKDAY | FORMAT_ABBREV_ALL)); assertEquals("enero–abril de 2009", formatDateRange(es_US, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_NO_MONTH_DAY)); - assertEquals("19 de ene de 2009 – 9 de feb de 2012", + assertEquals("19 de ene de 2009\u2009\u2013\u20099 de feb de 2012", formatDateRange(es_US, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); - assertEquals("ene de 2009 – feb de 2012", + assertEquals("ene de 2009\u2009\u2013\u2009feb de 2012", formatDateRange(es_US, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_NO_MONTH_DAY | FORMAT_ABBREV_ALL)); - assertEquals("19 de enero de 2009 – 9 de febrero de 2012", + assertEquals("19 de enero de 2009\u2009\u2013\u20099 de febrero de 2012", formatDateRange(es_US, tz, fixedTime, fixedTime + 3 * YEAR, 0)); - assertEquals("lunes, 19 de enero de 2009 – jueves, 9 de febrero de 2012", + assertEquals("lunes, 19 de enero de 2009\u2009\u2013\u2009jueves, 9 de febrero de 2012", formatDateRange(es_US, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_SHOW_WEEKDAY)); // The same tests but for es_ES. @@ -288,32 +289,32 @@ public class DateIntervalFormatTest { formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * DAY, 0)); assertEquals("19–22 ene 2009", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * DAY, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); - assertEquals("lun, 19 ene – jue, 22 ene 2009", + assertEquals("lun, 19 ene\u2009\u2013\u2009jue, 22 ene 2009", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * DAY, FORMAT_SHOW_WEEKDAY | FORMAT_ABBREV_ALL)); - assertEquals("lunes, 19 de enero – jueves, 22 de enero de 2009", + assertEquals("lunes, 19 de enero\u2009\u2013\u2009jueves, 22 de enero de 2009", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * DAY, FORMAT_SHOW_WEEKDAY)); - assertEquals("19 de enero – 22 de abril de 2009", + assertEquals("19 de enero\u2009\u2013\u200922 de abril de 2009", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * MONTH, 0)); - assertEquals("19 ene – 22 abr 2009", + assertEquals("19 ene\u2009\u2013\u200922 abr 2009", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); - assertEquals("lun, 19 ene – mié, 22 abr 2009", + assertEquals("lun, 19 ene\u2009\u2013\u2009mié, 22 abr 2009", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_SHOW_WEEKDAY | FORMAT_ABBREV_ALL)); assertEquals("enero–abril de 2009", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * MONTH, FORMAT_NO_MONTH_DAY)); - assertEquals("19 ene 2009 – 9 feb 2012", + assertEquals("19 ene 2009\u2009\u2013\u20099 feb 2012", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL)); - assertEquals("ene 2009 – feb 2012", + assertEquals("ene 2009\u2009\u2013\u2009feb 2012", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_NO_MONTH_DAY | FORMAT_ABBREV_ALL)); - assertEquals("19 de enero de 2009 – 9 de febrero de 2012", + assertEquals("19 de enero de 2009\u2009\u2013\u20099 de febrero de 2012", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * YEAR, 0)); - assertEquals("lunes, 19 de enero de 2009 – jueves, 9 de febrero de 2012", + assertEquals("lunes, 19 de enero de 2009\u2009\u2013\u2009jueves, 9 de febrero de 2012", formatDateRange(es_ES, tz, fixedTime, fixedTime + 3 * YEAR, FORMAT_SHOW_WEEKDAY)); } @@ -330,7 +331,7 @@ public class DateIntervalFormatTest { c.set(2046, Calendar.OCTOBER, 4, 3, 30); long oct_4_2046 = c.getTimeInMillis(); int flags = FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL; - assertEquals("Jan 19, 2042 – Oct 4, 2046", + assertEquals("Jan 19, 2042\u2009\u2013\u2009Oct 4, 2046", formatDateRange(l, tz, jan_19_2042, oct_4_2046, flags)); } @@ -343,15 +344,15 @@ public class DateIntervalFormatTest { int flags = FORMAT_SHOW_DATE | FORMAT_ABBREV_ALL | FORMAT_SHOW_TIME | FORMAT_24HOUR; // The Unix epoch is UTC, so 0 is 1970-01-01T00:00Z... - assertEquals("Jan 1, 1970, 00:00 – Jan 2, 1970, 00:00", + assertEquals("Jan 1, 1970, 00:00\u2009\u2013\u2009Jan 2, 1970, 00:00", formatDateRange(l, utc, 0, DAY + 1, flags)); // But MTV is hours behind, so 0 was still the afternoon of the previous day... - assertEquals("Dec 31, 1969, 16:00 – Jan 1, 1970, 16:00", + assertEquals("Dec 31, 1969, 16:00\u2009\u2013\u2009Jan 1, 1970, 16:00", formatDateRange(l, pacific, 0, DAY, flags)); } // http://b/10318326 - we can drop the minutes in a 12-hour time if they're zero, - // but not if we're using the 24-hour clock. That is: "4 PM" is reasonable, "16" is not. + // but not if we're using the 24-hour clock. That is: "4\u202fPM" is reasonable, "16" is not. @Test public void test10318326() throws Exception { long midnight = 0; @@ -367,23 +368,26 @@ public class DateIntervalFormatTest { // Full length on-the-hour times. assertEquals("00:00", formatDateRange(l, utc, midnight, midnight, time24)); - assertEquals("12:00 AM", formatDateRange(l, utc, midnight, midnight, time12)); + assertEquals("12:00\u202fAM", formatDateRange(l, utc, midnight, midnight, time12)); assertEquals("16:00", formatDateRange(l, utc, teaTime, teaTime, time24)); - assertEquals("4:00 PM", formatDateRange(l, utc, teaTime, teaTime, time12)); + assertEquals("4:00\u202fPM", formatDateRange(l, utc, teaTime, teaTime, time12)); // Abbreviated on-the-hour times. assertEquals("00:00", formatDateRange(l, utc, midnight, midnight, abbr24)); - assertEquals("12 AM", formatDateRange(l, utc, midnight, midnight, abbr12)); + assertEquals("12\u202fAM", formatDateRange(l, utc, midnight, midnight, abbr12)); assertEquals("16:00", formatDateRange(l, utc, teaTime, teaTime, abbr24)); - assertEquals("4 PM", formatDateRange(l, utc, teaTime, teaTime, abbr12)); + assertEquals("4\u202fPM", formatDateRange(l, utc, teaTime, teaTime, abbr12)); // Abbreviated on-the-hour ranges. - assertEquals("00:00 – 16:00", formatDateRange(l, utc, midnight, teaTime, abbr24)); - assertEquals("12 AM – 4 PM", formatDateRange(l, utc, midnight, teaTime, abbr12)); + assertEquals("00:00\u2009\u2013\u200916:00", formatDateRange(l, utc, midnight, teaTime, + abbr24)); + assertEquals("12\u202fAM\u2009\u2013\u20094\u202fPM", formatDateRange(l, utc, midnight, + teaTime, abbr12)); // Abbreviated mixed ranges. - assertEquals("00:00 – 16:01", formatDateRange(l, utc, midnight, teaTime + MINUTE, abbr24)); - assertEquals("12:00 AM – 4:01 PM", + assertEquals("00:00\u2009\u2013\u200916:01", formatDateRange(l, utc, midnight, + teaTime + MINUTE, abbr24)); + assertEquals("12:00\u202fAM\u2009\u2013\u20094:01\u202fPM", formatDateRange(l, utc, midnight, teaTime + MINUTE, abbr12)); } @@ -406,12 +410,12 @@ public class DateIntervalFormatTest { // Run one millisecond over, though, and you're into the next day. long nextMorning = 1 * DAY + 1; - assertEquals("Thursday, January 1 – Friday, January 2, 1970", + assertEquals("Thursday, January 1\u2009\u2013\u2009Friday, January 2, 1970", formatDateRange(l, utc, midnight, nextMorning, flags)); // But the same reasoning applies for that day. long nextMidnight = 2 * DAY; - assertEquals("Thursday, January 1 – Friday, January 2, 1970", + assertEquals("Thursday, January 1\u2009\u2013\u2009Friday, January 2, 1970", formatDateRange(l, utc, midnight, nextMidnight, flags)); } @@ -424,9 +428,9 @@ public class DateIntervalFormatTest { int flags = FORMAT_SHOW_TIME | FORMAT_24HOUR | FORMAT_SHOW_DATE; - assertEquals("January 1, 1970, 22:00 – 00:00", + assertEquals("January 1, 1970, 22:00\u2009\u2013\u200900:00", formatDateRange(l, utc, 22 * HOUR, 24 * HOUR, flags)); - assertEquals("January 1, 1970 at 22:00 – January 2, 1970 at 00:30", + assertEquals("January 1, 1970 at 22:00\u2009\u2013\u2009January 2, 1970 at 00:30", formatDateRange(l, utc, 22 * HOUR, 24 * HOUR + 30 * MINUTE, flags)); } @@ -443,9 +447,9 @@ public class DateIntervalFormatTest { c.clear(); c.set(1980, Calendar.JANUARY, 1, 0, 0); long jan_1_1980 = c.getTimeInMillis(); - assertEquals("January 1, 1980, 22:00 – 00:00", + assertEquals("January 1, 1980, 22:00\u2009\u2013\u200900:00", formatDateRange(l, utc, jan_1_1980 + 22 * HOUR, jan_1_1980 + 24 * HOUR, flags)); - assertEquals("January 1, 1980 at 22:00 – January 2, 1980 at 00:30", + assertEquals("January 1, 1980 at 22:00\u2009\u2013\u2009January 2, 1980 at 00:30", formatDateRange(l, utc, jan_1_1980 + 22 * HOUR, jan_1_1980 + 24 * HOUR + 30 * MINUTE, flags)); } @@ -463,12 +467,12 @@ public class DateIntervalFormatTest { c.clear(); c.set(1980, Calendar.JANUARY, 1, 0, 0); long jan_1_1980 = c.getTimeInMillis(); - assertEquals("January 1, 1980, 22:00 – 00:00", + assertEquals("January 1, 1980, 22:00\u2009\u2013\u200900:00", formatDateRange(l, pacific, jan_1_1980 + 22 * HOUR, jan_1_1980 + 24 * HOUR, flags)); c.set(1980, Calendar.JULY, 1, 0, 0); long jul_1_1980 = c.getTimeInMillis(); - assertEquals("July 1, 1980, 22:00 – 00:00", + assertEquals("July 1, 1980, 22:00\u2009\u2013\u200900:00", formatDateRange(l, pacific, jul_1_1980 + 22 * HOUR, jul_1_1980 + 24 * HOUR, flags)); } @@ -531,11 +535,13 @@ public class DateIntervalFormatTest { formatDateRange(l, utc, oldYear, oldYear, FORMAT_SHOW_DATE | FORMAT_NO_YEAR)); // ...or the start and end years aren't the same... - assertEquals(String.format("February 10, 1980 – February 10, %d", c.get(Calendar.YEAR)), + assertEquals(String.format("February 10, 1980\u2009\u2013\u2009February 10, %d", + c.get(Calendar.YEAR)), formatDateRange(l, utc, oldYear, thisYear, FORMAT_SHOW_DATE)); // (And you can't avoid that --- icu4c steps in and overrides you.) - assertEquals(String.format("February 10, 1980 – February 10, %d", c.get(Calendar.YEAR)), + assertEquals(String.format("February 10, 1980\u2009\u2013\u2009February 10, %d", + c.get(Calendar.YEAR)), formatDateRange(l, utc, oldYear, thisYear, FORMAT_SHOW_DATE | FORMAT_NO_YEAR)); } @@ -595,7 +601,7 @@ public class DateIntervalFormatTest { formatDateRange(new ULocale("fa"), utc, thisYear, thisYear, flags)); assertEquals("يونۍ د ۱۹۸۰ د فبروري ۱۰", formatDateRange(new ULocale("ps"), utc, thisYear, thisYear, flags)); - assertEquals("วันอาทิตย์ที่ 10 กุมภาพันธ์ ค.ศ. 1980", + assertEquals("วันอาทิตย์ที่ 10 กุมภาพันธ์ 1980", formatDateRange(new ULocale("th"), utc, thisYear, thisYear, flags)); } @@ -607,9 +613,12 @@ public class DateIntervalFormatTest { int flags = FORMAT_SHOW_TIME | FORMAT_ABBREV_ALL | FORMAT_12HOUR; - assertEquals("10 – 11 AM", formatDateRange(l, utc, 10 * HOUR, 11 * HOUR, flags)); - assertEquals("11 AM – 1 PM", formatDateRange(l, utc, 11 * HOUR, 13 * HOUR, flags)); - assertEquals("2 – 3 PM", formatDateRange(l, utc, 14 * HOUR, 15 * HOUR, flags)); + assertEquals("10\u2009\u2013\u200911\u202fAM", formatDateRange(l, utc, + 10 * HOUR, 11 * HOUR, flags)); + assertEquals("11\u202fAM\u2009\u2013\u20091\u202fPM", formatDateRange(l, utc, + 11 * HOUR, 13 * HOUR, flags)); + assertEquals("2\u2009\u2013\u20093\u202fPM", formatDateRange(l, utc, + 14 * HOUR, 15 * HOUR, flags)); } // http://b/20708022 @@ -618,8 +627,8 @@ public class DateIntervalFormatTest { final ULocale locale = new ULocale("en"); final TimeZone timeZone = TimeZone.getTimeZone("UTC"); - assertEquals("11:00 PM – 12:00 AM", formatDateRange(locale, timeZone, - 1430434800000L, 1430438400000L, FORMAT_SHOW_TIME)); + assertEquals("11:00\u202fPM\u2009\u2013\u200912:00\u202fAM", formatDateRange(locale, + timeZone, 1430434800000L, 1430438400000L, FORMAT_SHOW_TIME)); } // http://b/68847519 @@ -629,23 +638,25 @@ public class DateIntervalFormatTest { ENGLISH, GMT_ZONE, from, to, FORMAT_SHOW_DATE | FORMAT_SHOW_TIME | FORMAT_24HOUR); // If we're showing times and the end-point is midnight the following day, we want the // behaviour of suppressing the date for the end... - assertEquals("February 27, 2007, 04:00 – 00:00", fmt.apply(1172548800000L, 1172620800000L)); + assertEquals("February 27, 2007, 04:00\u2009\u2013\u200900:00", fmt.apply(1172548800000L, + 1172620800000L)); // ...unless the start-point is also midnight, in which case we need dates to disambiguate. - assertEquals("February 27, 2007 at 00:00 – February 28, 2007 at 00:00", + assertEquals("February 27, 2007 at 00:00\u2009\u2013\u2009February 28, 2007 at 00:00", fmt.apply(1172534400000L, 1172620800000L)); // We want to show the date if the end-point is a millisecond after midnight the following // day, or if it is exactly midnight the day after that. - assertEquals("February 27, 2007 at 04:00 – February 28, 2007 at 00:00", + assertEquals("February 27, 2007 at 04:00\u2009\u2013\u2009February 28, 2007 at 00:00", fmt.apply(1172548800000L, 1172620800001L)); - assertEquals("February 27, 2007 at 04:00 – March 1, 2007 at 00:00", + assertEquals("February 27, 2007 at 04:00\u2009\u2013\u2009March 1, 2007 at 00:00", fmt.apply(1172548800000L, 1172707200000L)); // We want to show the date if the start-point is anything less than a minute after // midnight, // since that gets displayed as midnight... - assertEquals("February 27, 2007 at 00:00 – February 28, 2007 at 00:00", + assertEquals("February 27, 2007 at 00:00\u2009\u2013\u2009February 28, 2007 at 00:00", fmt.apply(1172534459999L, 1172620800000L)); // ...but not if it is exactly one minute after midnight. - assertEquals("February 27, 2007, 00:01 – 00:00", fmt.apply(1172534460000L, 1172620800000L)); + assertEquals("February 27, 2007, 00:01\u2009\u2013\u200900:00", fmt.apply(1172534460000L, + 1172620800000L)); } // http://b/68847519 @@ -656,16 +667,20 @@ public class DateIntervalFormatTest { // If we're only showing dates and the end-point is midnight of any day, we want the // behaviour of showing an end date one earlier. So if the end-point is March 2, 2007 00:00, // show March 1, 2007 instead (whether the start-point is midnight or not). - assertEquals("February 27 – March 1, 2007", fmt.apply(1172534400000L, 1172793600000L)); - assertEquals("February 27 – March 1, 2007", fmt.apply(1172548800000L, 1172793600000L)); + assertEquals("February 27\u2009\u2013\u2009March 1, 2007", + fmt.apply(1172534400000L, 1172793600000L)); + assertEquals("February 27\u2009\u2013\u2009March 1, 2007", + fmt.apply(1172548800000L, 1172793600000L)); // We want to show the true date if the end-point is a millisecond after midnight. - assertEquals("February 27 – March 2, 2007", fmt.apply(1172534400000L, 1172793600001L)); + assertEquals("February 27\u2009\u2013\u2009March 2, 2007", + fmt.apply(1172534400000L, 1172793600001L)); // 2006-02-27 00:00:00.000 GMT - 2007-03-02 00:00:00.000 GMT - assertEquals("February 27, 2006 – March 1, 2007", + assertEquals("February 27, 2006\u2009\u2013\u2009March 1, 2007", fmt.apply(1140998400000L, 1172793600000L)); // Spans a leap year's Feb 29th. - assertEquals("February 27 – March 1, 2004", fmt.apply(1077840000000L, 1078185600000L)); + assertEquals("February 27\u2009\u2013\u2009March 1, 2004", + fmt.apply(1077840000000L, 1078185600000L)); } } diff --git a/core/tests/coretests/src/android/text/format/DateUtilsTest.java b/core/tests/coretests/src/android/text/format/DateUtilsTest.java index 381c0512c532..39ed82ef40f3 100644 --- a/core/tests/coretests/src/android/text/format/DateUtilsTest.java +++ b/core/tests/coretests/src/android/text/format/DateUtilsTest.java @@ -139,16 +139,16 @@ public class DateUtilsTest { fixedTime, java.text.DateFormat.SHORT, java.text.DateFormat.FULL)); final long hourDuration = 2 * 60 * 60 * 1000; - assertEquals("5:30:15 AM Greenwich Mean Time", DateUtils.formatSameDayTime( + assertEquals("5:30:15\u202fAM Greenwich Mean Time", DateUtils.formatSameDayTime( fixedTime + hourDuration, fixedTime, java.text.DateFormat.FULL, java.text.DateFormat.FULL)); - assertEquals("5:30:15 AM", DateUtils.formatSameDayTime(fixedTime + hourDuration, + assertEquals("5:30:15\u202fAM", DateUtils.formatSameDayTime(fixedTime + hourDuration, fixedTime, java.text.DateFormat.FULL, java.text.DateFormat.DEFAULT)); - assertEquals("5:30:15 AM GMT", DateUtils.formatSameDayTime(fixedTime + hourDuration, + assertEquals("5:30:15\u202fAM GMT", DateUtils.formatSameDayTime(fixedTime + hourDuration, fixedTime, java.text.DateFormat.FULL, java.text.DateFormat.LONG)); - assertEquals("5:30:15 AM", DateUtils.formatSameDayTime(fixedTime + hourDuration, + assertEquals("5:30:15\u202fAM", DateUtils.formatSameDayTime(fixedTime + hourDuration, fixedTime, java.text.DateFormat.FULL, java.text.DateFormat.MEDIUM)); - assertEquals("5:30 AM", DateUtils.formatSameDayTime(fixedTime + hourDuration, + assertEquals("5:30\u202fAM", DateUtils.formatSameDayTime(fixedTime + hourDuration, fixedTime, java.text.DateFormat.FULL, java.text.DateFormat.SHORT)); } diff --git a/core/tests/coretests/src/android/text/format/RelativeDateTimeFormatterTest.java b/core/tests/coretests/src/android/text/format/RelativeDateTimeFormatterTest.java index b3425162f48f..2337802db71f 100644 --- a/core/tests/coretests/src/android/text/format/RelativeDateTimeFormatterTest.java +++ b/core/tests/coretests/src/android/text/format/RelativeDateTimeFormatterTest.java @@ -468,37 +468,37 @@ public class RelativeDateTimeFormatterTest { cal.set(2015, Calendar.FEBRUARY, 5, 10, 50, 0); final long base = cal.getTimeInMillis(); - assertEquals("5 seconds ago, 10:49 AM", + assertEquals("5 seconds ago, 10:49\u202fAM", getRelativeDateTimeString(en_US, tz, base - 5 * SECOND_IN_MILLIS, base, 0, MINUTE_IN_MILLIS, 0)); - assertEquals("5 min. ago, 10:45 AM", + assertEquals("5 min. ago, 10:45\u202fAM", getRelativeDateTimeString(en_US, tz, base - 5 * MINUTE_IN_MILLIS, base, 0, HOUR_IN_MILLIS, FORMAT_ABBREV_RELATIVE)); - assertEquals("0 hr. ago, 10:45 AM", + assertEquals("0 hr. ago, 10:45\u202fAM", getRelativeDateTimeString(en_US, tz, base - 5 * MINUTE_IN_MILLIS, base, HOUR_IN_MILLIS, DAY_IN_MILLIS, FORMAT_ABBREV_RELATIVE)); - assertEquals("5 hours ago, 5:50 AM", + assertEquals("5 hours ago, 5:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 5 * HOUR_IN_MILLIS, base, HOUR_IN_MILLIS, DAY_IN_MILLIS, 0)); - assertEquals("Yesterday, 7:50 PM", + assertEquals("Yesterday, 7:50\u202fPM", getRelativeDateTimeString(en_US, tz, base - 15 * HOUR_IN_MILLIS, base, 0, WEEK_IN_MILLIS, FORMAT_ABBREV_RELATIVE)); - assertEquals("5 days ago, 10:50 AM", + assertEquals("5 days ago, 10:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 5 * DAY_IN_MILLIS, base, 0, WEEK_IN_MILLIS, 0)); - assertEquals("Jan 29, 10:50 AM", + assertEquals("Jan 29, 10:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 7 * DAY_IN_MILLIS, base, 0, WEEK_IN_MILLIS, 0)); - assertEquals("11/27/2014, 10:50 AM", + assertEquals("11/27/2014, 10:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 10 * WEEK_IN_MILLIS, base, 0, WEEK_IN_MILLIS, 0)); - assertEquals("11/27/2014, 10:50 AM", + assertEquals("11/27/2014, 10:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 10 * WEEK_IN_MILLIS, base, 0, YEAR_IN_MILLIS, 0)); // User-supplied flags should be ignored when formatting the date clause. final int FORMAT_SHOW_WEEKDAY = 0x00002; - assertEquals("11/27/2014, 10:50 AM", + assertEquals("11/27/2014, 10:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 10 * WEEK_IN_MILLIS, base, 0, WEEK_IN_MILLIS, FORMAT_ABBREV_ALL | FORMAT_SHOW_WEEKDAY)); @@ -514,14 +514,14 @@ public class RelativeDateTimeFormatterTest { // So 5 hours before 3:15 AM should be formatted as 'Yesterday, 9:15 PM'. cal.set(2014, Calendar.MARCH, 9, 3, 15, 0); long base = cal.getTimeInMillis(); - assertEquals("Yesterday, 9:15 PM", + assertEquals("Yesterday, 9:15\u202fPM", getRelativeDateTimeString(en_US, tz, base - 5 * HOUR_IN_MILLIS, base, 0, WEEK_IN_MILLIS, 0)); // 1 hour after 2:00 AM should be formatted as 'In 1 hour, 4:00 AM'. cal.set(2014, Calendar.MARCH, 9, 2, 0, 0); base = cal.getTimeInMillis(); - assertEquals("In 1 hour, 4:00 AM", + assertEquals("In 1 hour, 4:00\u202fAM", getRelativeDateTimeString(en_US, tz, base + 1 * HOUR_IN_MILLIS, base, 0, WEEK_IN_MILLIS, 0)); @@ -529,22 +529,22 @@ public class RelativeDateTimeFormatterTest { // 1:00 AM. 8 hours before 5:20 AM should be 'Yesterday, 10:20 PM'. cal.set(2014, Calendar.NOVEMBER, 2, 5, 20, 0); base = cal.getTimeInMillis(); - assertEquals("Yesterday, 10:20 PM", + assertEquals("Yesterday, 10:20\u202fPM", getRelativeDateTimeString(en_US, tz, base - 8 * HOUR_IN_MILLIS, base, 0, WEEK_IN_MILLIS, 0)); cal.set(2014, Calendar.NOVEMBER, 2, 0, 45, 0); base = cal.getTimeInMillis(); // 45 minutes after 0:45 AM should be 'In 45 minutes, 1:30 AM'. - assertEquals("In 45 minutes, 1:30 AM", + assertEquals("In 45 minutes, 1:30\u202fAM", getRelativeDateTimeString(en_US, tz, base + 45 * MINUTE_IN_MILLIS, base, 0, WEEK_IN_MILLIS, 0)); // 45 minutes later, it should be 'In 45 minutes, 1:15 AM'. - assertEquals("In 45 minutes, 1:15 AM", + assertEquals("In 45 minutes, 1:15\u202fAM", getRelativeDateTimeString(en_US, tz, base + 90 * MINUTE_IN_MILLIS, base + 45 * MINUTE_IN_MILLIS, 0, WEEK_IN_MILLIS, 0)); // Another 45 minutes later, it should be 'In 45 minutes, 2:00 AM'. - assertEquals("In 45 minutes, 2:00 AM", + assertEquals("In 45 minutes, 2:00\u202fAM", getRelativeDateTimeString(en_US, tz, base + 135 * MINUTE_IN_MILLIS, base + 90 * MINUTE_IN_MILLIS, 0, WEEK_IN_MILLIS, 0)); } @@ -593,7 +593,7 @@ public class RelativeDateTimeFormatterTest { Calendar yesterdayCalendar1 = Calendar.getInstance(tz, en_US); yesterdayCalendar1.set(2011, Calendar.SEPTEMBER, 1, 10, 24, 0); long yesterday1 = yesterdayCalendar1.getTimeInMillis(); - assertEquals("Yesterday, 10:24 AM", + assertEquals("Yesterday, 10:24\u202fAM", getRelativeDateTimeString(en_US, tz, yesterday1, now, MINUTE_IN_MILLIS, WEEK_IN_MILLIS, 0)); @@ -601,7 +601,7 @@ public class RelativeDateTimeFormatterTest { Calendar yesterdayCalendar2 = Calendar.getInstance(tz, en_US); yesterdayCalendar2.set(2011, Calendar.SEPTEMBER, 1, 10, 22, 0); long yesterday2 = yesterdayCalendar2.getTimeInMillis(); - assertEquals("Yesterday, 10:22 AM", + assertEquals("Yesterday, 10:22\u202fAM", getRelativeDateTimeString(en_US, tz, yesterday2, now, MINUTE_IN_MILLIS, WEEK_IN_MILLIS, 0)); @@ -609,7 +609,7 @@ public class RelativeDateTimeFormatterTest { Calendar twoDaysAgoCalendar1 = Calendar.getInstance(tz, en_US); twoDaysAgoCalendar1.set(2011, Calendar.AUGUST, 31, 10, 24, 0); long twoDaysAgo1 = twoDaysAgoCalendar1.getTimeInMillis(); - assertEquals("2 days ago, 10:24 AM", + assertEquals("2 days ago, 10:24\u202fAM", getRelativeDateTimeString(en_US, tz, twoDaysAgo1, now, MINUTE_IN_MILLIS, WEEK_IN_MILLIS, 0)); @@ -617,7 +617,7 @@ public class RelativeDateTimeFormatterTest { Calendar twoDaysAgoCalendar2 = Calendar.getInstance(tz, en_US); twoDaysAgoCalendar2.set(2011, Calendar.AUGUST, 31, 10, 22, 0); long twoDaysAgo2 = twoDaysAgoCalendar2.getTimeInMillis(); - assertEquals("2 days ago, 10:22 AM", + assertEquals("2 days ago, 10:22\u202fAM", getRelativeDateTimeString(en_US, tz, twoDaysAgo2, now, MINUTE_IN_MILLIS, WEEK_IN_MILLIS, 0)); @@ -625,7 +625,7 @@ public class RelativeDateTimeFormatterTest { Calendar tomorrowCalendar1 = Calendar.getInstance(tz, en_US); tomorrowCalendar1.set(2011, Calendar.SEPTEMBER, 3, 10, 22, 0); long tomorrow1 = tomorrowCalendar1.getTimeInMillis(); - assertEquals("Tomorrow, 10:22 AM", + assertEquals("Tomorrow, 10:22\u202fAM", getRelativeDateTimeString(en_US, tz, tomorrow1, now, MINUTE_IN_MILLIS, WEEK_IN_MILLIS, 0)); @@ -633,7 +633,7 @@ public class RelativeDateTimeFormatterTest { Calendar tomorrowCalendar2 = Calendar.getInstance(tz, en_US); tomorrowCalendar2.set(2011, Calendar.SEPTEMBER, 3, 10, 24, 0); long tomorrow2 = tomorrowCalendar2.getTimeInMillis(); - assertEquals("Tomorrow, 10:24 AM", + assertEquals("Tomorrow, 10:24\u202fAM", getRelativeDateTimeString(en_US, tz, tomorrow2, now, MINUTE_IN_MILLIS, WEEK_IN_MILLIS, 0)); @@ -641,7 +641,7 @@ public class RelativeDateTimeFormatterTest { Calendar twoDaysLaterCalendar1 = Calendar.getInstance(tz, en_US); twoDaysLaterCalendar1.set(2011, Calendar.SEPTEMBER, 4, 10, 22, 0); long twoDaysLater1 = twoDaysLaterCalendar1.getTimeInMillis(); - assertEquals("In 2 days, 10:22 AM", + assertEquals("In 2 days, 10:22\u202fAM", getRelativeDateTimeString(en_US, tz, twoDaysLater1, now, MINUTE_IN_MILLIS, WEEK_IN_MILLIS, 0)); @@ -649,7 +649,7 @@ public class RelativeDateTimeFormatterTest { Calendar twoDaysLaterCalendar2 = Calendar.getInstance(tz, en_US); twoDaysLaterCalendar2.set(2011, Calendar.SEPTEMBER, 4, 10, 24, 0); long twoDaysLater2 = twoDaysLaterCalendar2.getTimeInMillis(); - assertEquals("In 2 days, 10:24 AM", + assertEquals("In 2 days, 10:24\u202fAM", getRelativeDateTimeString(en_US, tz, twoDaysLater2, now, MINUTE_IN_MILLIS, WEEK_IN_MILLIS, 0)); } @@ -664,11 +664,11 @@ public class RelativeDateTimeFormatterTest { cal.set(2012, Calendar.FEBRUARY, 5, 10, 50, 0); long base = cal.getTimeInMillis(); - assertEquals("Feb 5, 5:50 AM", getRelativeDateTimeString(en_US, tz, + assertEquals("Feb 5, 5:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 5 * HOUR_IN_MILLIS, base, 0, MINUTE_IN_MILLIS, 0)); - assertEquals("Jan 29, 10:50 AM", getRelativeDateTimeString(en_US, tz, + assertEquals("Jan 29, 10:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 7 * DAY_IN_MILLIS, base, 0, WEEK_IN_MILLIS, 0)); - assertEquals("11/27/2011, 10:50 AM", getRelativeDateTimeString(en_US, tz, + assertEquals("11/27/2011, 10:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 10 * WEEK_IN_MILLIS, base, 0, WEEK_IN_MILLIS, 0)); assertEquals("January 6", getRelativeTimeSpanString(en_US, tz, @@ -687,11 +687,11 @@ public class RelativeDateTimeFormatterTest { // Feb 5, 2018 at 10:50 PST cal.set(2018, Calendar.FEBRUARY, 5, 10, 50, 0); base = cal.getTimeInMillis(); - assertEquals("Feb 5, 5:50 AM", getRelativeDateTimeString(en_US, tz, + assertEquals("Feb 5, 5:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 5 * HOUR_IN_MILLIS, base, 0, MINUTE_IN_MILLIS, 0)); - assertEquals("Jan 29, 10:50 AM", getRelativeDateTimeString(en_US, tz, + assertEquals("Jan 29, 10:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 7 * DAY_IN_MILLIS, base, 0, WEEK_IN_MILLIS, 0)); - assertEquals("11/27/2017, 10:50 AM", getRelativeDateTimeString(en_US, tz, + assertEquals("11/27/2017, 10:50\u202fAM", getRelativeDateTimeString(en_US, tz, base - 10 * WEEK_IN_MILLIS, base, 0, WEEK_IN_MILLIS, 0)); assertEquals("January 6", getRelativeTimeSpanString(en_US, tz, diff --git a/libs/androidfw/LocaleDataTables.cpp b/libs/androidfw/LocaleDataTables.cpp index b3fb1452919b..b68143d82090 100644 --- a/libs/androidfw/LocaleDataTables.cpp +++ b/libs/androidfw/LocaleDataTables.cpp @@ -143,6 +143,7 @@ const std::unordered_map<uint32_t, uint8_t> LIKELY_SCRIPTS({ {0xACE00000u, 46u}, // ahl -> Latn {0xB8E00000u, 1u}, // aho -> Ahom {0x99200000u, 46u}, // ajg -> Latn + {0xCD200000u, 2u}, // ajt -> Arab {0x616B0000u, 46u}, // ak -> Latn {0xA9400000u, 101u}, // akk -> Xsux {0x81600000u, 46u}, // ala -> Latn @@ -1053,6 +1054,7 @@ const std::unordered_map<uint32_t, uint8_t> LIKELY_SCRIPTS({ {0xB70D0000u, 46u}, // nyn -> Latn {0xA32D0000u, 46u}, // nzi -> Latn {0x6F630000u, 46u}, // oc -> Latn + {0x6F634553u, 46u}, // oc-ES -> Latn {0x88CE0000u, 46u}, // ogc -> Latn {0x6F6A0000u, 11u}, // oj -> Cans {0xC92E0000u, 11u}, // ojs -> Cans @@ -1093,6 +1095,7 @@ const std::unordered_map<uint32_t, uint8_t> LIKELY_SCRIPTS({ {0xB4EF0000u, 71u}, // phn -> Phnx {0xAD0F0000u, 46u}, // pil -> Latn {0xBD0F0000u, 46u}, // pip -> Latn + {0xC90F0000u, 46u}, // pis -> Latn {0x814F0000u, 9u}, // pka -> Brah {0xB94F0000u, 46u}, // pko -> Latn {0x706C0000u, 46u}, // pl -> Latn @@ -1204,12 +1207,14 @@ const std::unordered_map<uint32_t, uint8_t> LIKELY_SCRIPTS({ {0xE1720000u, 46u}, // sly -> Latn {0x736D0000u, 46u}, // sm -> Latn {0x81920000u, 46u}, // sma -> Latn + {0x8D920000u, 46u}, // smd -> Latn {0xA5920000u, 46u}, // smj -> Latn {0xB5920000u, 46u}, // smn -> Latn {0xBD920000u, 76u}, // smp -> Samr {0xC1920000u, 46u}, // smq -> Latn {0xC9920000u, 46u}, // sms -> Latn {0x736E0000u, 46u}, // sn -> Latn + {0x85B20000u, 46u}, // snb -> Latn {0x89B20000u, 46u}, // snc -> Latn {0xA9B20000u, 46u}, // snk -> Latn {0xBDB20000u, 46u}, // snp -> Latn @@ -1314,6 +1319,7 @@ const std::unordered_map<uint32_t, uint8_t> LIKELY_SCRIPTS({ {0x746F0000u, 46u}, // to -> Latn {0x95D30000u, 46u}, // tof -> Latn {0x99D30000u, 46u}, // tog -> Latn + {0xA9D30000u, 46u}, // tok -> Latn {0xC1D30000u, 46u}, // toq -> Latn {0xA1F30000u, 46u}, // tpi -> Latn {0xB1F30000u, 46u}, // tpm -> Latn @@ -1527,6 +1533,7 @@ std::unordered_set<uint64_t> REPRESENTATIVE_LOCALES({ 0x61665A414C61746ELLU, // af_Latn_ZA 0xC0C0434D4C61746ELLU, // agq_Latn_CM 0xB8E0494E41686F6DLLU, // aho_Ahom_IN + 0xCD20544E41726162LLU, // ajt_Arab_TN 0x616B47484C61746ELLU, // ak_Latn_GH 0xA940495158737578LLU, // akk_Xsux_IQ 0xB560584B4C61746ELLU, // aln_Latn_XK @@ -1534,6 +1541,7 @@ std::unordered_set<uint64_t> REPRESENTATIVE_LOCALES({ 0x616D455445746869LLU, // am_Ethi_ET 0xB9804E474C61746ELLU, // amo_Latn_NG 0x616E45534C61746ELLU, // an_Latn_ES + 0xB5A04E474C61746ELLU, // ann_Latn_NG 0xE5C049444C61746ELLU, // aoz_Latn_ID 0x8DE0544741726162LLU, // apd_Arab_TG 0x6172454741726162LLU, // ar_Arab_EG @@ -2039,6 +2047,7 @@ std::unordered_set<uint64_t> REPRESENTATIVE_LOCALES({ 0xB88F49525870656FLLU, // peo_Xpeo_IR 0xACAF44454C61746ELLU, // pfl_Latn_DE 0xB4EF4C4250686E78LLU, // phn_Phnx_LB + 0xC90F53424C61746ELLU, // pis_Latn_SB 0x814F494E42726168LLU, // pka_Brah_IN 0xB94F4B454C61746ELLU, // pko_Latn_KE 0x706C504C4C61746ELLU, // pl_Latn_PL @@ -2119,11 +2128,13 @@ std::unordered_set<uint64_t> REPRESENTATIVE_LOCALES({ 0xE17249444C61746ELLU, // sly_Latn_ID 0x736D57534C61746ELLU, // sm_Latn_WS 0x819253454C61746ELLU, // sma_Latn_SE + 0x8D92414F4C61746ELLU, // smd_Latn_AO 0xA59253454C61746ELLU, // smj_Latn_SE 0xB59246494C61746ELLU, // smn_Latn_FI 0xBD92494C53616D72LLU, // smp_Samr_IL 0xC99246494C61746ELLU, // sms_Latn_FI 0x736E5A574C61746ELLU, // sn_Latn_ZW + 0x85B24D594C61746ELLU, // snb_Latn_MY 0xA9B24D4C4C61746ELLU, // snk_Latn_ML 0x736F534F4C61746ELLU, // so_Latn_SO 0x99D2555A536F6764LLU, // sog_Sogd_UZ |