Author: niallp Date: Mon Mar 20 20:08:30 2006 New Revision: 387398 URL: http://svn.apache.org/viewcvs?rev=387398&view=rev Log: Fix localization issues with the tests - thanks to Phil Steitz and Oliver Heger for identifying the issues.
Modified: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/ValidatorTest.java jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CurrencyValidatorTest.java Modified: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/ValidatorTest.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/ValidatorTest.java?rev=387398&r1=387397&r2=387398&view=diff ============================================================================== --- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/ValidatorTest.java (original) +++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/ValidatorTest.java Mon Mar 20 20:08:30 2006 @@ -279,7 +279,7 @@ try { DateFormat formatter = null; - formatter = DateFormat.getDateInstance(DateFormat.SHORT, Locale.getDefault()); + formatter = DateFormat.getDateInstance(DateFormat.SHORT, Locale.US); formatter.setLenient(false); Modified: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CurrencyValidatorTest.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CurrencyValidatorTest.java?rev=387398&r1=387397&r2=387398&view=diff ============================================================================== --- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CurrencyValidatorTest.java (original) +++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/routines/CurrencyValidatorTest.java Mon Mar 20 20:08:30 2006 @@ -24,6 +24,8 @@ import java.util.Locale; import java.math.BigDecimal; +import java.text.DecimalFormatSymbols; + /** * Test Case for CurrencyValidator. * @@ -32,6 +34,10 @@ public class CurrencyValidatorTest extends TestCase { private static final char CURRENCY_SYMBOL = '\u00A4'; + + private String US_DOLLAR; + private String UK_POUND; + /** * Main * @param args arguments @@ -50,6 +56,8 @@ protected void setUp() throws Exception { super.setUp(); + US_DOLLAR = (new DecimalFormatSymbols(Locale.US)).getCurrencySymbol(); + UK_POUND = (new DecimalFormatSymbols(Locale.UK)).getCurrencySymbol(); } /** @@ -82,20 +90,20 @@ BigDecimal noDecimal = new BigDecimal("1234.00"); BigDecimal oneDecimal = new BigDecimal("1234.50"); - assertEquals("Default locale", expected, validator.validate("£1,234.56")); + assertEquals("Default locale", expected, validator.validate(UK_POUND + "1,234.56")); - assertEquals("UK locale", expected, validator.validate("£1,234.56", Locale.UK)); - assertEquals("UK negative", negative, validator.validate("-£1,234.56", Locale.UK)); - assertEquals("UK no decimal", noDecimal, validator.validate("£1,234", Locale.UK)); - assertEquals("UK 1 decimal", oneDecimal, validator.validate("£1,234.5", Locale.UK)); - assertEquals("UK 3 decimal", expected, validator.validate("£1,234.567", Locale.UK)); + assertEquals("UK locale", expected, validator.validate(UK_POUND + "1,234.56", Locale.UK)); + assertEquals("UK negative", negative, validator.validate("-" + UK_POUND + "1,234.56", Locale.UK)); + assertEquals("UK no decimal", noDecimal, validator.validate(UK_POUND + "1,234", Locale.UK)); + assertEquals("UK 1 decimal", oneDecimal, validator.validate(UK_POUND + "1,234.5", Locale.UK)); + assertEquals("UK 3 decimal", expected, validator.validate(UK_POUND + "1,234.567", Locale.UK)); assertEquals("UK no symbol", expected, validator.validate("1,234.56", Locale.UK)); - assertEquals("US locale", expected, validator.validate("$1,234.56", Locale.US)); - assertEquals("US negative", negative, validator.validate("($1,234.56)", Locale.US)); - assertEquals("US no decimal", noDecimal, validator.validate("$1,234", Locale.US)); - assertEquals("US 1 decimal", oneDecimal, validator.validate("$1,234.5", Locale.US)); - assertEquals("US 3 decimal", expected, validator.validate("$1,234.567", Locale.US)); + assertEquals("US locale", expected, validator.validate(US_DOLLAR + "1,234.56", Locale.US)); + assertEquals("US negative", negative, validator.validate("(" + US_DOLLAR + "1,234.56)", Locale.US)); + assertEquals("US no decimal", noDecimal, validator.validate(US_DOLLAR + "1,234", Locale.US)); + assertEquals("US 1 decimal", oneDecimal, validator.validate(US_DOLLAR + "1,234.5", Locale.US)); + assertEquals("US 3 decimal", expected, validator.validate(US_DOLLAR + "1,234.567", Locale.US)); assertEquals("US no symbol", expected, validator.validate("1,234.56", Locale.US)); // Restore the original default @@ -115,12 +123,12 @@ assertNull("validate() Empty Value", validator.validate("")); // Invalid UK - assertFalse("UK wrong symbol", validator.isValid("$1,234.56", Locale.UK)); - assertFalse("UK wrong negative", validator.isValid("(£1,234.56)", Locale.UK)); + assertFalse("UK wrong symbol", validator.isValid(US_DOLLAR + "1,234.56", Locale.UK)); + assertFalse("UK wrong negative", validator.isValid("(" + UK_POUND + "1,234.56)", Locale.UK)); // Invalid US - assertFalse("US wrong symbol", validator.isValid("£1,234.56", Locale.US)); - assertFalse("US wrong negative", validator.isValid("-$1,234.56", Locale.US)); + assertFalse("US wrong symbol", validator.isValid(UK_POUND + "1,234.56", Locale.US)); + assertFalse("US wrong negative", validator.isValid("-" + US_DOLLAR + "1,234.56", Locale.US)); } /** @@ -135,13 +143,13 @@ BigDecimal expected = new BigDecimal("1234.00"); BigDecimal negative = new BigDecimal("-1234.00"); - assertEquals("Default locale", expected, validator.validate("£1,234")); + assertEquals("Default locale", expected, validator.validate(UK_POUND +"1,234")); - assertEquals("UK locale", expected, validator.validate("£1,234", Locale.UK)); - assertEquals("UK negative", negative, validator.validate("-£1,234", Locale.UK)); + assertEquals("UK locale", expected, validator.validate(UK_POUND + "1,234", Locale.UK)); + assertEquals("UK negative", negative, validator.validate("-" + UK_POUND + "1,234", Locale.UK)); - assertEquals("US locale", expected, validator.validate("$1,234", Locale.US)); - assertEquals("US negative", negative, validator.validate("($1,234)", Locale.US)); + assertEquals("US locale", expected, validator.validate(US_DOLLAR + "1,234", Locale.US)); + assertEquals("US negative", negative, validator.validate("(" + US_DOLLAR + "1,234)", Locale.US)); // Restore the original default Locale.setDefault(origDefault); @@ -154,12 +162,12 @@ CurrencyValidator validator = new CurrencyValidator(true, false); // Invalid UK - has decimals - assertFalse("UK positive", validator.isValid("£1,234.56", Locale.UK)); - assertFalse("UK negative", validator.isValid("-£1,234.56", Locale.UK)); + assertFalse("UK positive", validator.isValid(UK_POUND + "1,234.56", Locale.UK)); + assertFalse("UK negative", validator.isValid("-" + UK_POUND + "1,234.56", Locale.UK)); // Invalid US - has decimals - assertFalse("US positive", validator.isValid("$1,234.56", Locale.US)); - assertFalse("US negative", validator.isValid("($1,234.56)", Locale.US)); + assertFalse("US positive", validator.isValid(US_DOLLAR + "1,234.56", Locale.US)); + assertFalse("US negative", validator.isValid("(" + US_DOLLAR + "1,234.56)", Locale.US)); } @@ -178,20 +186,20 @@ BigDecimal negative = new BigDecimal("-1234.567"); // Test Pattern - assertEquals("default", expected, validator.validate("£1,234.567", pattern)); - assertEquals("negative", negative, validator.validate("[£1,234.567]", pattern)); + assertEquals("default", expected, validator.validate(UK_POUND + "1,234.567", pattern)); + assertEquals("negative", negative, validator.validate("[" + UK_POUND + "1,234.567]", pattern)); assertEquals("no symbol +ve", expected, validator.validate("1,234.567", pattern)); assertEquals("no symbol -ve", negative, validator.validate("[1,234.567]", pattern)); // Test Pattern & Locale - assertEquals("default", expected, validator.validate("$1,234.567", pattern, Locale.US)); - assertEquals("negative", negative, validator.validate("[$1,234.567]", pattern, Locale.US)); + assertEquals("default", expected, validator.validate(US_DOLLAR + "1,234.567", pattern, Locale.US)); + assertEquals("negative", negative, validator.validate("[" + US_DOLLAR + "1,234.567]", pattern, Locale.US)); assertEquals("no symbol +ve", expected, validator.validate("1,234.567", pattern, Locale.US)); assertEquals("no symbol -ve", negative, validator.validate("[1,234.567]", pattern, Locale.US)); // invalid - assertFalse("invalid symbol", validator.isValid("$1,234.567", pattern)); - assertFalse("invalid symbol", validator.isValid("£1,234.567", pattern, Locale.US)); + assertFalse("invalid symbol", validator.isValid(US_DOLLAR + "1,234.567", pattern)); + assertFalse("invalid symbol", validator.isValid(UK_POUND + "1,234.567", pattern, Locale.US)); // Restore the original default Locale.setDefault(origDefault); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]