diff --git a/icu4c/source/test/testdata/conversion.txt b/icu4c/source/test/testdata/conversion.txt index c2fd59c6f4b..202dd7290cb 100644 --- a/icu4c/source/test/testdata/conversion.txt +++ b/icu4c/source/test/testdata/conversion.txt @@ -887,6 +887,13 @@ conversion:table(nofallback) { :intvector{ 0, 2, 4, 4, 6, 9, 10, 11 }, :int{1}, :int{0}, "", "?", :bin{""} } + { + "ISO-2022-CN-EXT", + :bin{ 1b242b4d1b4f66791b242b4d1b4f216a }, + "\u3667", + :intvector{ 14 }, + :int{1}, :int{0}, "", "0", :bin{""} + } } } diff --git a/icu4j/main/shared/data/testdata.jar b/icu4j/main/shared/data/testdata.jar index ff5d486838d..ec096096144 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:e0a6d624943d618593296da8962fe2e8a258a7bb431d452f99714189bf81a6f6 -size 773180 +oid sha256:a7ce8b58d416e6eae38a86180bcf591949db964a24e6016b5e393713bb42355a +size 773227 diff --git a/icu4j/main/tests/charset/src/com/ibm/icu/dev/test/charset/TestCharset.java b/icu4j/main/tests/charset/src/com/ibm/icu/dev/test/charset/TestCharset.java index a43fb7269ae..55bc3fc3e08 100644 --- a/icu4j/main/tests/charset/src/com/ibm/icu/dev/test/charset/TestCharset.java +++ b/icu4j/main/tests/charset/src/com/ibm/icu/dev/test/charset/TestCharset.java @@ -5532,4 +5532,39 @@ public class TestCharset extends TestFmwk { } } + + /* + * This is a port of ICU4C TestAmbiguousConverter in cintltst. + * Since there is no concept of ambiguous converters in ICU4J + * this test is merely for code coverage reasons. + */ + public void TestAmbiguousConverter() { + byte [] inBytes = { + 0x61, 0x5b, 0x5c + }; + ByteBuffer src = ByteBuffer.wrap(inBytes); + CharBuffer trgt = CharBuffer.allocate(20); + + CoderResult result = CoderResult.UNDERFLOW; + CharsetProviderICU provider = new CharsetProviderICU(); + String[] names = CharsetProviderICU.getAllNames(); + + for (int i = 0; i < names.length; i++) { + Charset charset = provider.charsetForName(names[i]); + if (charset == null) { + /* We don't care about any failures because not all converters are available. */ + continue; + } + CharsetDecoder decoder = charset.newDecoder(); + + src.position(0); + trgt.clear(); + + result = decoder.decode(src, trgt, true); + if (result.isError()) { + /* We don't care about any failures. */ + continue; + } + } + } }