You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by rl...@apache.org on 2003/08/17 06:21:05 UTC
cvs commit: jakarta-commons/validator/src/test/org/apache/commons/validator EmailTest.java
rleland 2003/08/16 21:21:05
Modified: validator/src/test/org/apache/commons/validator
EmailTest.java
Log:
Bug 22124
Add tests so Email validation will fail.
These tests test for all special characters allowed in the users
part of the email. Both serverside java and javascript need to be fixed.
Revision Changes Path
1.17 +73 -17 jakarta-commons/validator/src/test/org/apache/commons/validator/EmailTest.java
Index: EmailTest.java
===================================================================
RCS file: /home/cvs/jakarta-commons/validator/src/test/org/apache/commons/validator/EmailTest.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- EmailTest.java 12 Aug 2003 00:29:34 -0000 1.16
+++ EmailTest.java 17 Aug 2003 04:21:05 -0000 1.17
@@ -7,7 +7,7 @@
*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 1999-2003 The Apache Software Foundation. All rights
+ * Copyright (c) 2000-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -36,7 +36,7 @@
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
+ * permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
@@ -77,6 +77,7 @@
*
* @author David Winterfeldt
* @author David Graham
+ * @author Rob Leland
* @version $Revision$ $Date$
*/
public class EmailTest extends TestCase {
@@ -200,8 +201,12 @@
info.setValue("andy.noble@data-workshop.com");
valueTest(info, true);
- info.setValue("andy-noble@data-workshop.com");
- valueTest(info, true);
+ info.setValue("andy-noble@data-workshop.-com");
+ valueTest(info, false);
+ info.setValue("andy-noble@data-workshop.c-om");
+ valueTest(info, false);
+ info.setValue("andy-noble@data-workshop.co-m");
+ valueTest(info, true);
}
@@ -241,15 +246,66 @@
/**
* Tests the email validation with commas.
*/
- public void testEmailWithCommas() throws ValidatorException {
- ValueBean info = new ValueBean();
- info.setValue("joe,blow@apache.org");
- valueTest(info, false);
- info.setValue("joeblow@apa,che.org");
- valueTest(info, false);
- info.setValue("joeblow@apache.o,rg");
- valueTest(info, false);
- }
+
+ public void testEmailWithCommas() throws ValidatorException {
+ ValueBean info = new ValueBean();
+ info.setValue("joeblow@apa,che.org");
+ valueTest(info, false);
+ info.setValue("joeblow@apache.o,rg");
+ valueTest(info, false);
+ info.setValue("joeblow@apache,org");
+ valueTest(info, false);
+
+ }
+
+ /**
+ * Write this test according to parts of RFC, as opposed to the type of character
+ * that is being tested.
+ * According to RFC 1738 a user name can be composed of the following :
+ * *[alpha | digit | "$" | "-" | "_" | "." | "+" | "!" | "*" | "'" | "(" | ")" | "," | "%" hex hex | ";" | "?" | "&" | "=" ]
+
+ * @throws ValidatorException
+ */
+ public void testEmailUserName() throws ValidatorException {
+ ValueBean info = new ValueBean();
+ info.setValue("joe1blow@apache.org");
+ valueTest(info, true);
+ info.setValue("joe$blow@apache.org");
+ valueTest(info, true);
+ info.setValue("joe-@apache.org");
+ valueTest(info, true);
+ info.setValue("joe_@apache.org");
+ valueTest(info, true);
+ info.setValue("joe.@apache.org");
+ valueTest(info, true);
+ info.setValue("joe+@apache.org");
+ valueTest(info, true);
+ info.setValue("joe!@apache.org");
+ valueTest(info, true);
+ info.setValue("joe*@apache.org");
+ valueTest(info, true);
+ info.setValue("joe'@apache.org");
+ valueTest(info, true);
+ info.setValue("joe(@apache.org");
+ valueTest(info, true);
+ info.setValue("joe)@apache.org");
+ valueTest(info, true);
+ info.setValue("joe,@apache.org");
+ valueTest(info, true);
+ info.setValue("joe%45@apache.org");
+ valueTest(info, true);
+ info.setValue("joe;@apache.org");
+ valueTest(info, true);
+ info.setValue("joe?@apache.org");
+ valueTest(info, true);
+ info.setValue("joe&@apache.org");
+ valueTest(info, true);
+ info.setValue("joe=@apache.org");
+ valueTest(info, true);
+
+ }
+
+
/**
* Utlity class to run a test on a value.