aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/apache/commons
diff options
context:
space:
mode:
authorGary Gregory <garydgregory@gmail.com>2024-04-24 16:01:39 -0400
committerGary Gregory <garydgregory@gmail.com>2024-04-24 16:01:39 -0400
commitaacc467954f8d3df5c2e450b5cb01810bcc6667a (patch)
tree3e73957c6ed6af0365dfc6d7211b672ffdc34e69 /src/test/java/org/apache/commons
parentaf8575dd25bf99bb25e9ad424c0839e27d1ff608 (diff)
downloadapache-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.java24
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");