Author: sebb
Date: Mon Apr 18 19:23:03 2011
New Revision: 1094699
URL: http://svn.apache.org/viewvc?rev=1094699&view=rev
Log:
Fix some failing e-mail tests (based on RFC 3696 section 3)
Modified:
commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/EmailValidatorTest.java
Modified:
commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/EmailValidatorTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/EmailValidatorTest.java?rev=1094699&r1=1094698&r2=1094699&view=diff
==============================================================================
---
commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/EmailValidatorTest.java
(original)
+++
commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/EmailValidatorTest.java
Mon Apr 18 19:23:03 2011
@@ -196,9 +196,8 @@ public class EmailValidatorTest extends
* <p><b>FIXME</b>: This test fails so disable it with a leading _ for
1.1.4 release.
* The real solution is to fix the email parsing.
*
- * @
*/
- public void _testEmailUserName() {
+ public void testEmailUserName() {
assertTrue(validator.isValid("[email protected]"));
@@ -208,18 +207,68 @@ public class EmailValidatorTest extends
assertTrue(validator.isValid("[email protected]"));
+ assertTrue(validator.isValid("[email protected]")); // + is valid
unquoted
+
+ assertTrue(validator.isValid("[email protected]")); // ! is valid
unquoted
+
+ assertTrue(validator.isValid("joe*@apache.org")); // * is valid
unquoted
+
+ assertTrue(validator.isValid("joe'@apache.org")); // ' is valid
unquoted
+
+ assertTrue(validator.isValid("[email protected]")); // % is valid
unquoted
+
+ assertTrue(validator.isValid("[email protected]")); // ? is valid
unquoted
+
+ assertTrue(validator.isValid("joe&@apache.org")); // & ditto
+
+ assertTrue(validator.isValid("[email protected]")); // = ditto
+
+ assertTrue(validator.isValid("[email protected]")); // + is valid
unquoted
+
+ assertTrue(validator.isValid("[email protected]")); // ! is valid
unquoted
+
+ assertTrue(validator.isValid("*[email protected]")); // * is valid
unquoted
+
+ assertTrue(validator.isValid("'[email protected]")); // ' is valid
unquoted
+
+ assertTrue(validator.isValid("%[email protected]")); // % is valid
unquoted
+
+ assertTrue(validator.isValid("[email protected]")); // ? is valid
unquoted
+
+ assertTrue(validator.isValid("&[email protected]")); // & ditto
+
+ assertTrue(validator.isValid("[email protected]")); // = ditto
+
+ assertTrue(validator.isValid("[email protected]")); // + is valid unquoted
+
+ assertTrue(validator.isValid("[email protected]")); // ! is valid unquoted
+
+ assertTrue(validator.isValid("*@apache.org")); // * is valid unquoted
+
+ assertTrue(validator.isValid("'@apache.org")); // ' is valid unquoted
+
+ assertTrue(validator.isValid("%@apache.org")); // % is valid unquoted
+
+ assertTrue(validator.isValid("[email protected]")); // ? is valid unquoted
+
+ assertTrue(validator.isValid("&@apache.org")); // & ditto
+
+ assertTrue(validator.isValid("[email protected]")); // = ditto
+
//UnQuoted Special characters are invalid
- assertFalse(validator.isValid("[email protected]"));
+ assertFalse(validator.isValid("[email protected]")); // . not allowed at
end of local part
- assertFalse(validator.isValid("[email protected]"));
+ assertFalse(validator.isValid("[email protected]")); // . not allowed
at start of local part
- assertFalse(validator.isValid("[email protected]"));
+ assertFalse(validator.isValid("[email protected]")); // . not allowed alone
- assertFalse(validator.isValid("joe*@apache.org"));
+ assertTrue(validator.isValid("[email protected]")); // . allowed
embedded
- assertFalse(validator.isValid("joe'@apache.org"));
+ assertFalse(validator.isValid("[email protected]")); // .. not
allowed embedded
+
+ assertFalse(validator.isValid("[email protected]")); // .. not allowed
alone
assertFalse(validator.isValid("joe(@apache.org"));
@@ -227,20 +276,14 @@ public class EmailValidatorTest extends
assertFalse(validator.isValid("joe,@apache.org"));
- assertFalse(validator.isValid("[email protected]"));
-
assertFalse(validator.isValid("joe;@apache.org"));
- assertFalse(validator.isValid("[email protected]"));
-
- assertFalse(validator.isValid("joe&@apache.org"));
-
- assertFalse(validator.isValid("[email protected]"));
-
//Quoted Special characters are valid
assertTrue(validator.isValid("\"joe.\"@apache.org"));
+ assertTrue(validator.isValid("\".joe\"@apache.org"));
+
assertTrue(validator.isValid("\"joe+\"@apache.org"));
assertTrue(validator.isValid("\"joe!\"@apache.org"));
@@ -265,6 +308,7 @@ public class EmailValidatorTest extends
assertTrue(validator.isValid("\"joe=\"@apache.org"));
+ assertTrue(validator.isValid("\"..\"@apache.org"));
}
@@ -348,17 +392,16 @@ public class EmailValidatorTest extends
* Write this test based on perl Mail::RFC822::Address
* which takes its example email address directly from RFC822
*
- * @
- *
* FIXME This test fails so disable it with a leading _ for 1.1.4 release.
* The real solution is to fix the email parsing.
*/
public void _testEmailFromPerl() {
for (int index = 0; index < testEmailFromPerl.length; index++) {
+ String item = testEmailFromPerl[index].item;
if (testEmailFromPerl[index].valid) {
- assertTrue(validator.isValid(testEmailFromPerl[index].item));
+ assertTrue("Should be OK: "+item, validator.isValid(item));
} else {
- assertFalse(validator.isValid(testEmailFromPerl[index].item));
+ assertFalse("Should fail: "+item, validator.isValid(item));
}
}
}