You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ba...@apache.org on 2008/11/05 17:33:26 UTC
svn commit: r711605 - in /commons/proper/lang/trunk/src:
java/org/apache/commons/lang/NumberUtils.java
test/org/apache/commons/lang/NumberUtilsTest.java
Author: bayard
Date: Wed Nov 5 08:33:25 2008
New Revision: 711605
URL: http://svn.apache.org/viewvc?rev=711605&view=rev
Log:
Applying test/fix from LANG-457 - getting a StringIndexOutOfBounds from createNumber rather than a NumberFormatException
Modified:
commons/proper/lang/trunk/src/java/org/apache/commons/lang/NumberUtils.java
commons/proper/lang/trunk/src/test/org/apache/commons/lang/NumberUtilsTest.java
Modified: commons/proper/lang/trunk/src/java/org/apache/commons/lang/NumberUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/java/org/apache/commons/lang/NumberUtils.java?rev=711605&r1=711604&r2=711605&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/java/org/apache/commons/lang/NumberUtils.java (original)
+++ commons/proper/lang/trunk/src/java/org/apache/commons/lang/NumberUtils.java Wed Nov 5 08:33:25 2008
@@ -142,6 +142,9 @@
if (val.length() == 0) {
throw new NumberFormatException("\"\" is not a valid number.");
}
+ if (val.length() == 1 && !Character.isDigit(val.charAt(0))) {
+ throw new NumberFormatException(val + " is not a valid number.");
+ }
if (val.startsWith("--")) {
// this is protection for poorness in java.lang.BigDecimal.
// it accepts this as a legal value, but it does not appear
Modified: commons/proper/lang/trunk/src/test/org/apache/commons/lang/NumberUtilsTest.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/org/apache/commons/lang/NumberUtilsTest.java?rev=711605&r1=711604&r2=711605&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/test/org/apache/commons/lang/NumberUtilsTest.java (original)
+++ commons/proper/lang/trunk/src/test/org/apache/commons/lang/NumberUtilsTest.java Wed Nov 5 08:33:25 2008
@@ -520,5 +520,17 @@
fail( "Error calling public no-arg constructor" );
}
}
+
+ public void testLang457() {
+ String[] badInputs = new String[] { "l", "L", "f", "F", "junk", "bobL"};
+ for(int i=0; i<badInputs.length; i++) {
+ try {
+ NumberUtils.createNumber(badInputs[i]);
+ fail("NumberFormatException was expected for " + badInputs[i]);
+ } catch (NumberFormatException e) {
+ return; // expected
+ }
+ }
+ }
}