From c3a2e7c78367054629b4efb158c4b1e58ab6097a Mon Sep 17 00:00:00 2001 From: Markus Scherer Date: Fri, 29 Aug 2014 21:31:47 +0000 Subject: [PATCH] ICU-10889 test UCharacter.getCharFromExtendedName() edge cases X-SVN-Rev: 36294 --- .../ibm/icu/dev/test/lang/UCharacterTest.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) 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 -- 2.40.0