Revision: 1377
          http://stripes.svn.sourceforge.net/stripes/?rev=1377&view=rev
Author:   bengunter
Date:     2010-12-29 19:58:14 +0000 (Wed, 29 Dec 2010)

Log Message:
-----------
Applied fix for STS-783 from 1.5.x branch.

Modified Paths:
--------------
    
trunk/stripes/src/net/sourceforge/stripes/validation/NumberTypeConverterSupport.java
    
trunk/tests/src/net/sourceforge/stripes/validation/NumberTypeConverterSupportTest.java

Modified: 
trunk/stripes/src/net/sourceforge/stripes/validation/NumberTypeConverterSupport.java
===================================================================
--- 
trunk/stripes/src/net/sourceforge/stripes/validation/NumberTypeConverterSupport.java
        2010-12-29 19:55:43 UTC (rev 1376)
+++ 
trunk/stripes/src/net/sourceforge/stripes/validation/NumberTypeConverterSupport.java
        2010-12-29 19:58:14 UTC (rev 1377)
@@ -102,7 +102,10 @@
         // The casts are to make sure we don't call replace(String regex, 
String replacement)
         output = output.replace((CharSequence) currencySymbol, (CharSequence) 
"");
 
-        // Step 3: replace parentheses with negation
+        // Step 3: trim whitespace that might precede or follow currency symbol
+        output = output.trim();
+
+        // Step 4: replace parentheses with negation
         if (output.startsWith("(") && output.endsWith(")")) {
             output = "-" + output.substring(1, output.length() - 1);
         }

Modified: 
trunk/tests/src/net/sourceforge/stripes/validation/NumberTypeConverterSupportTest.java
===================================================================
--- 
trunk/tests/src/net/sourceforge/stripes/validation/NumberTypeConverterSupportTest.java
      2010-12-29 19:55:43 UTC (rev 1376)
+++ 
trunk/tests/src/net/sourceforge/stripes/validation/NumberTypeConverterSupportTest.java
      2010-12-29 19:58:14 UTC (rev 1377)
@@ -57,7 +57,18 @@
         Assert.assertEquals(number.doubleValue(), 1999.95);
     }
 
-    @Test(groups="fast")
+    @Test(groups = "fast")
+    public void testCurrencyWithSpace() {
+        Number number = getConverter().parse("$ 57", new 
ArrayList<ValidationError>());
+        Assert.assertNotNull(number);
+        Assert.assertEquals(number.intValue(), 57);
+
+        number = getConverter().parse("1,999.95 $", new 
ArrayList<ValidationError>());
+        Assert.assertNotNull(number);
+        Assert.assertEquals(number.doubleValue(), 1999.95);
+    }
+
+    @Test(groups = "fast")
     public void testNegativeCurrency() {
         Number number = getConverter().parse("-$57", new 
ArrayList<ValidationError>());
         Assert.assertEquals(number.intValue(), -57);


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Stripes-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-development

Reply via email to