Skip to content

Commit 0c2ac55

Browse files
authored
chore: Update icu4j to 78.3 (#26)
* chore: Update icu4j version to 78.3 * test: Fix broken unit tests in locales-utils * test: Fix broken unit tests in locales-common
1 parent d2fc483 commit 0c2ac55

5 files changed

Lines changed: 61 additions & 41 deletions

File tree

locales-common/src/test/java/com/spotify/i18n/locales/common/impl/LocalesResolverBaseImplTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ static Stream<Arguments> whenResolvingUnsupportedLocale_returnBetterDefaultLocal
187187
Arguments.of(
188188
"et-EE",
189189
supportedLocales,
190-
ResolvedLocale.fromLanguageTags("en-GB", List.of("en"), "en-GB")),
190+
ResolvedLocale.fromLanguageTags("en-GB", List.of("en"), "en-EE")),
191191
// Dutch (Netherlands)
192192
Arguments.of(
193193
"nl-NL",

locales-common/src/test/java/com/spotify/i18n/locales/common/impl/ReferenceLocalesCalculatorBaseImplTest.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -291,20 +291,22 @@ private static List<RelatedReferenceLocale> english() {
291291
rrl("en-DG", SAME),
292292
rrl("en-DK", SAME),
293293
rrl("en-DM", SAME),
294+
rrl("en-EE", SAME),
294295
rrl("en-ER", SAME),
295296
rrl("en-ES", SAME),
296297
rrl("en-FI", SAME),
297298
rrl("en-FJ", SAME),
298-
rrl("en-FR", SAME),
299299
rrl("en-FK", SAME),
300300
rrl("en-FM", SAME),
301+
rrl("en-FR", SAME),
301302
rrl("en-GB", SAME),
302-
rrl("en-GS", SAME),
303303
rrl("en-GD", SAME),
304+
rrl("en-GE", SAME),
304305
rrl("en-GG", SAME),
305306
rrl("en-GH", SAME),
306307
rrl("en-GI", SAME),
307308
rrl("en-GM", SAME),
309+
rrl("en-GS", SAME),
308310
rrl("en-GU", SAME),
309311
rrl("en-GY", SAME),
310312
rrl("en-HK", SAME),
@@ -318,13 +320,16 @@ private static List<RelatedReferenceLocale> english() {
318320
rrl("en-IT", SAME),
319321
rrl("en-JE", SAME),
320322
rrl("en-JM", SAME),
323+
rrl("en-JP", SAME),
321324
rrl("en-KE", SAME),
322325
rrl("en-KI", SAME),
323326
rrl("en-KN", SAME),
324327
rrl("en-KY", SAME),
325328
rrl("en-LC", SAME),
326329
rrl("en-LR", SAME),
327330
rrl("en-LS", SAME),
331+
rrl("en-LT", SAME),
332+
rrl("en-LV", SAME),
328333
rrl("en-MG", SAME),
329334
rrl("en-MH", SAME),
330335
rrl("en-MO", SAME),
@@ -371,6 +376,7 @@ private static List<RelatedReferenceLocale> english() {
371376
rrl("en-TT", SAME),
372377
rrl("en-TV", SAME),
373378
rrl("en-TZ", SAME),
379+
rrl("en-UA", SAME),
374380
rrl("en-UG", SAME),
375381
rrl("en-UM", SAME),
376382
rrl("en-VC", SAME),
@@ -474,7 +480,15 @@ private static List<RelatedReferenceLocale> german() {
474480
}
475481

476482
private static List<RelatedReferenceLocale> italian() {
477-
return List.of(rrl("it", SAME), rrl("it-CH", SAME), rrl("it-SM", SAME), rrl("it-VA", SAME));
483+
return List.of(
484+
// Italian
485+
rrl("it", SAME),
486+
rrl("it-CH", SAME),
487+
rrl("it-SM", SAME),
488+
rrl("it-VA", SAME),
489+
490+
// Sicilian
491+
rrl("scn", LOW));
478492
}
479493

480494
private static List<RelatedReferenceLocale> norwegian() {

locales-utils/src/test/java/com/spotify/i18n/locales/utils/hierarchy/LocalesHierarchyUtilsTest.java

Lines changed: 39 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ class LocalesHierarchyUtilsTest {
4747
void languageCodesWithMultipleScriptsInCldr() {
4848
final Set<String> expectedLanguageCodesWithMultipleScriptsInCldr =
4949
Set.of(
50-
"az", "bs", "ff", "hi", "kk", "kok", "ks", "kxv", "mni", "pa", "sat", "sd", "shi", "sr",
51-
"su", "uz", "vai", "yue", "zh");
50+
"az", "bs", "ff", "hi", "kk", "kok", "ks", "ku", "kxv", "mni", "pa", "sat", "sd", "shi",
51+
"sr", "su", "uz", "vai", "yue", "zh");
5252

5353
assertEquals(
5454
expectedLanguageCodesWithMultipleScriptsInCldr.size(),
@@ -78,7 +78,7 @@ static Stream<Arguments> getDescendantLocales() {
7878
"fr",
7979
"fr-BE,fr-BF,fr-BI,fr-BJ,fr-BL,fr-CA,fr-CD,fr-CF,fr-CG,fr-CH,fr-CI,fr-CM,fr-DJ,fr-DZ,fr-FR,fr-GA,fr-GF,fr-GN,fr-GP,fr-GQ,fr-HT,fr-KM,fr-LU,fr-MA,fr-MC,fr-MF,fr-MG,fr-ML,fr-MQ,fr-MR,fr-MU,fr-NC,fr-NE,fr-PF,fr-PM,fr-RE,fr-RW,fr-SC,fr-SN,fr-SY,fr-TD,fr-TG,fr-TN,fr-VU,fr-WF,fr-YT",
8080
"en",
81-
"en-001,en-150,en-AE,en-AG,en-AI,en-AS,en-AT,en-AU,en-BB,en-BE,en-BI,en-BM,en-BS,en-BW,en-BZ,en-CA,en-CC,en-CH,en-CK,en-CM,en-CX,en-CY,en-CZ,en-DE,en-DG,en-DK,en-DM,en-ER,en-ES,en-FI,en-FJ,en-FK,en-FM,en-FR,en-GB,en-GD,en-GG,en-GH,en-GI,en-GM,en-GS,en-GU,en-GY,en-HK,en-HU,en-ID,en-IE,en-IL,en-IM,en-IN,en-IO,en-IT,en-JE,en-JM,en-KE,en-KI,en-KN,en-KY,en-LC,en-LR,en-LS,en-MG,en-MH,en-MO,en-MP,en-MS,en-MT,en-MU,en-MV,en-MW,en-MY,en-NA,en-NF,en-NG,en-NL,en-NO,en-NR,en-NU,en-NZ,en-PG,en-PH,en-PK,en-PL,en-PN,en-PR,en-PT,en-PW,en-RO,en-RW,en-SB,en-SC,en-SD,en-SE,en-SG,en-SH,en-SI,en-SK,en-SL,en-SS,en-SX,en-SZ,en-TC,en-TK,en-TO,en-TT,en-TV,en-TZ,en-UG,en-UM,en-US,en-VC,en-VG,en-VI,en-VU,en-WS,en-ZA,en-ZM,en-ZW,hi-Latn,hi-Latn-IN",
81+
"en-001,en-150,en-AE,en-AG,en-AI,en-AS,en-AT,en-AU,en-BB,en-BE,en-BI,en-BM,en-BS,en-BW,en-BZ,en-CA,en-CC,en-CH,en-CK,en-CM,en-CX,en-CY,en-CZ,en-DE,en-DG,en-DK,en-DM,en-EE,en-ER,en-ES,en-FI,en-FJ,en-FK,en-FM,en-FR,en-GB,en-GD,en-GE,en-GG,en-GH,en-GI,en-GM,en-GS,en-GU,en-GY,en-HK,en-HU,en-ID,en-IE,en-IL,en-IM,en-IN,en-IO,en-IT,en-JE,en-JM,en-JP,en-KE,en-KI,en-KN,en-KY,en-LC,en-LR,en-LS,en-LT,en-LV,en-MG,en-MH,en-MO,en-MP,en-MS,en-MT,en-MU,en-MV,en-MW,en-MY,en-NA,en-NF,en-NG,en-NL,en-NO,en-NR,en-NU,en-NZ,en-PG,en-PH,en-PK,en-PL,en-PN,en-PR,en-PT,en-PW,en-RO,en-RW,en-SB,en-SC,en-SD,en-SE,en-SG,en-SH,en-SI,en-SK,en-SL,en-SS,en-SX,en-SZ,en-TC,en-TK,en-TO,en-TT,en-TV,en-TZ,en-UA,en-UG,en-UM,en-US,en-VC,en-VG,en-VI,en-VU,en-WS,en-ZA,en-ZM,en-ZW,hi-Latn,hi-Latn-IN",
8282
"zh-Hant",
8383
"zh-Hant-HK,zh-Hant-MO,zh-Hant-MY,zh-Hant-TW")
8484
.entrySet()
@@ -176,42 +176,45 @@ public void allRootChildLocalesAreHighestAncestorLocales() {
176176
}
177177
}
178178

179-
@Test
180-
public void whenCallingIsLanguageWrittenInSeveralScripts_returnsExpected() {
181-
final Set<String> uniqueLanguageCodes =
182-
AvailableLocalesUtils.getCldrLocales().stream()
183-
.map(ULocale::getLanguage)
184-
.collect(Collectors.toSet());
185-
for (String languageCode : uniqueLanguageCodes) {
186-
switch (languageCode) {
187-
case "az":
188-
case "bs":
189-
case "ff":
190-
case "hi":
191-
case "kk":
192-
case "kok":
193-
case "ks":
194-
case "kxv":
195-
case "mni":
196-
case "pa":
197-
case "sat":
198-
case "sd":
199-
case "shi":
200-
case "sr":
201-
case "su":
202-
case "uz":
203-
case "vai":
204-
case "yue":
205-
case "zh":
206-
assertTrue(LocalesHierarchyUtils.isLanguageWrittenInSeveralScripts(languageCode));
207-
break;
208-
default:
209-
assertFalse(LocalesHierarchyUtils.isLanguageWrittenInSeveralScripts(languageCode));
210-
break;
211-
}
179+
@ParameterizedTest
180+
@MethodSource
181+
void whenCallingIsLanguageWrittenInSeveralScripts_returnsExpected(final String languageCode) {
182+
switch (languageCode) {
183+
case "az":
184+
case "bs":
185+
case "ff":
186+
case "hi":
187+
case "kk":
188+
case "kok":
189+
case "ks":
190+
case "ku":
191+
case "kxv":
192+
case "mni":
193+
case "pa":
194+
case "sat":
195+
case "sd":
196+
case "shi":
197+
case "sr":
198+
case "su":
199+
case "uz":
200+
case "vai":
201+
case "yue":
202+
case "zh":
203+
assertTrue(LocalesHierarchyUtils.isLanguageWrittenInSeveralScripts(languageCode));
204+
break;
205+
default:
206+
assertFalse(LocalesHierarchyUtils.isLanguageWrittenInSeveralScripts(languageCode));
207+
break;
212208
}
213209
}
214210

211+
static Stream<Arguments> whenCallingIsLanguageWrittenInSeveralScripts_returnsExpected() {
212+
return AvailableLocalesUtils.getCldrLocales().stream()
213+
.map(ULocale::getLanguage)
214+
.distinct()
215+
.map(Arguments::of);
216+
}
217+
215218
@ParameterizedTest
216219
@MethodSource
217220
void emptyParentLocaleForUnsupportedCombinationsOfLanguageScriptCodes(String languageTag) {

locales-utils/src/test/java/com/spotify/i18n/locales/utils/language/LanguageUtilsTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ void canGetWrittenLanguageLocaleForCldrAvailableLocales(final ULocale locale) {
5959
case "kk":
6060
case "kok":
6161
case "ks":
62+
case "ku":
6263
case "kxv":
6364
case "mni":
6465
case "pa":
@@ -113,8 +114,10 @@ public void confirmLogicAccountsForAllHighestAncestorLocalesWithScript() {
113114
"az-Cyrl", // https://www.omniglot.com/writing/azeri.htm
114115
"bs-Cyrl", // https://www.omniglot.com/writing/bosnian.htm
115116
"ff-Adlm", // https://www.omniglot.com/writing/fula.htm
117+
"kk-Arab", // https://www.omniglot.com/writing/kazakh.htm
116118
"kok-Latn", // https://www.omniglot.com/writing/konkani.htm
117119
"ks-Deva", // https://www.omniglot.com/writing/kashmiri.htm
120+
"ku-Latn", // https://www.omniglot.com/writing/kurdish.htm
118121
"kxv-Deva", // https://www.businesswireindia.com/two-of-indias-endangered-languages-kuvi-and-kangri-get-a-lease-of-revival-as-motorola-and-lenovo-foundation-bring-alive-their-indigenous-languages-digital-inclusion-initiative-83131.html
119122
"kxv-Orya", // https://www.businesswireindia.com/two-of-indias-endangered-languages-kuvi-and-kangri-get-a-lease-of-revival-as-motorola-and-lenovo-foundation-bring-alive-their-indigenous-languages-digital-inclusion-initiative-83131.html
120123
"kxv-Telu", // https://www.businesswireindia.com/two-of-indias-endangered-languages-kuvi-and-kangri-get-a-lease-of-revival-as-motorola-and-lenovo-foundation-bring-alive-their-indigenous-languages-digital-inclusion-initiative-83131.html

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
<apache.httpcore.version>4.4.16</apache.httpcore.version>
3737
<google.auto-value.version>1.11.0</google.auto-value.version>
3838
<google.guava.version>33.3.1-jre</google.guava.version>
39-
<icu4j.version>77.1</icu4j.version>
39+
<icu4j.version>78.3</icu4j.version>
4040
<java-hamcrest.version>2.0.0.0</java-hamcrest.version>
4141
<junit.version>5.11.3</junit.version>
4242
<mockito.version>5.12.0</mockito.version>

0 commit comments

Comments
 (0)