diff --git a/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestTransforms.java b/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestTransforms.java index e5bc199ef9e..af7bb955972 100644 --- a/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestTransforms.java +++ b/tools/cldr-code/src/test/java/org/unicode/cldr/unittest/TestTransforms.java @@ -32,6 +32,7 @@ import java.util.TreeSet; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import org.unicode.cldr.draft.FileUtilities; import org.unicode.cldr.tool.LikelySubtags; import org.unicode.cldr.util.CLDRConfig; @@ -860,6 +861,8 @@ public void TestLocales() { CLDRTransforms.getInstance().registerModified(); } + Set> badLocaleScript = new TreeSet<>(); + for (String locale : modernCldr) { if (special.contains(locale)) { continue; @@ -900,6 +903,7 @@ public void TestLocales() { + " code points:\n" + badPlusSample); allMissing.addAll(badPlusSample); + badLocaleScript.add(Pair.of(locale, script)); } } if (!allMissing.isEmpty()) { @@ -924,6 +928,11 @@ public void TestLocales() { + allMissing.dataSet.keySet()); for (String script : allMissing.scriptMissing.values()) { UnicodeSet missingFoScript = allMissing.scriptMissing.getKeys(script); + String localeForScript = + badLocaleScript.stream() + .filter(p -> p.getSecond().equals((script))) + .map(p -> p.getFirst()) + .collect(Collectors.joining(",")); errln( "Transliterator for\t" + script @@ -932,7 +941,9 @@ public void TestLocales() { + ":\t" + missingFoScript.toPattern(false) + "=" - + missingFoScript); + + missingFoScript + + " - needed for locales: " + + localeForScript); } } }