--- old/test/java/util/Locale/LocaleProviders.java 2014-02-04 18:32:53.827758870 -0800 +++ new/test/java/util/Locale/LocaleProviders.java 2014-02-04 18:32:53.488753830 -0800 @@ -68,6 +68,10 @@ bug8013903Test(); break; + case "bug8027289Test": + bug8027289Test(args[1]); + break; + default: throw new RuntimeException("Test method '"+methodName+"' not found."); } @@ -232,4 +236,14 @@ } } } + + static void bug8027289Test(String expectedCodePoint) { + char[] expectedSymbol = Character.toChars(Integer.valueOf(expectedCodePoint, 16)); + NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.CHINA); + char formatted = nf.format(7000).charAt(0); + System.out.println("returned: " + formatted + ", expected: " + expectedSymbol[0]); + if (formatted != expectedSymbol[0]) { + throw new RuntimeException("Unexpected Chinese currency symbol. returned: " + formatted + ", expected: " + expectedSymbol[0]); + } + } }