From: Markus Scherer Date: Fri, 29 Aug 2014 21:31:47 +0000 (+0000) Subject: ICU-10889 test UCharacter.getCharFromExtendedName() edge cases X-Git-Tag: milestone-59-0-1~1663 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c3a2e7c78367054629b4efb158c4b1e58ab6097a;p=icu ICU-10889 test UCharacter.getCharFromExtendedName() edge cases X-SVN-Rev: 36294 --- diff --git a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/lang/UCharacterTest.java b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/lang/UCharacterTest.java index 18169b95175..b7b3d6ae508 100644 --- a/icu4j/main/tests/core/src/com/ibm/icu/dev/test/lang/UCharacterTest.java +++ b/icu4j/main/tests/core/src/com/ibm/icu/dev/test/lang/UCharacterTest.java @@ -1214,6 +1214,33 @@ public final class UCharacterTest extends TestFmwk } + public void TestUCharFromNameUnderflow() { + // Ticket #10889: Underflow crash when there is no dash. + int c = UCharacter.getCharFromExtendedName(""); + if(c >= 0) { + errln("UCharacter.getCharFromExtendedName() = U+" + hex(c) + + " but should fail (-1)"); + } + + // Test related edge cases. + c = UCharacter.getCharFromExtendedName("<-00a0>"); + if(c >= 0) { + errln("UCharacter.getCharFromExtendedName(<-00a0>) = U+" + hex(c) + + " but should fail (-1)"); + } + + c = UCharacter.getCharFromExtendedName(""); + if(c >= 0) { + errln("UCharacter.getCharFromExtendedName() = U+" + hex(c) + + " but should fail (-1)"); + } + + c = UCharacter.getCharFromExtendedName(""); + if(c >= 0) { + errln("UCharacter.getCharFromExtendedName() = U+" + hex(c) + + " but should fail (-1)"); + } + } /** * Testing name iteration