diff options
author | Gary Gregory <garydgregory@gmail.com> | 2024-04-24 16:01:39 -0400 |
---|---|---|
committer | Gary Gregory <garydgregory@gmail.com> | 2024-04-24 16:01:39 -0400 |
commit | aacc467954f8d3df5c2e450b5cb01810bcc6667a (patch) | |
tree | 3e73957c6ed6af0365dfc6d7211b672ffdc34e69 /src/test/java/org/apache/commons | |
parent | af8575dd25bf99bb25e9ad424c0839e27d1ff608 (diff) | |
download | apache-commons-lang-aacc467954f8d3df5c2e450b5cb01810bcc6667a.tar.gz |
[LANG-1729] NumberUtils.isParsable() returns true for Fullwidth Unicode
digits
Add Short test case
Diffstat (limited to 'src/test/java/org/apache/commons')
-rw-r--r-- | src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java b/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java index c42db3d7f..be40a0fdf 100644 --- a/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java +++ b/src/test/java/org/apache/commons/lang3/math/NumberUtilsTest.java @@ -129,6 +129,22 @@ public class NumberUtilsTest extends AbstractLangTest { return NumberUtils.isParsable(s); } + private boolean isShortParsable(final String s) { + final NumberFormat instance = NumberFormat.getInstance(); + instance.setParseIntegerOnly(false); + try { + instance.parse(s); + } catch (final ParseException e) { + return false; + } + try { + Short.parseShort(s); + } catch (final NumberFormatException e) { + return false; + } + return NumberUtils.isParsable(s); + } + /** * Test for {@link NumberUtils#toDouble(BigDecimal)} */ @@ -1008,6 +1024,14 @@ public class NumberUtilsTest extends AbstractLangTest { } @Test + public void testLang1729IsParsableShort() { + assertTrue(isShortParsable("1")); + assertFalse(isShortParsable("1 2 3")); + assertTrue(isShortParsable("123")); + assertFalse(isShortParsable("1 2 3")); + } + + @Test public void testLang300() { NumberUtils.createNumber("-1l"); NumberUtils.createNumber("01l"); |