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));
             }
         }
     }


Reply via email to