summaryrefslogtreecommitdiff
path: root/core/src/test/java/com
diff options
context:
space:
mode:
authorFrançois Tiercelin <francois.tiercelin@hpe.com>2024-10-19 04:38:56 +0300
committerGitHub <noreply@github.com>2024-10-19 04:38:56 +0300
commite750aca9e53d80eb7c2d7ffc3ccdb4e7cf6a7aca (patch)
tree24cbce5ceeacd2fc4871b3830eb879c06049f695 /core/src/test/java/com
parent9598db91c753293e61d13f6405a4b9e8dfcf6843 (diff)
downloadzxing-e750aca9e53d80eb7c2d7ffc3ccdb4e7cf6a7aca.tar.xz
Be more stringent on email validation rules (#1870)
* be more stringent on email validation rules add UT to validate various email formats * fix indentation * fix failing UT case * refine regex for email's domain: * only letters in the last part * no part starting or ending with a - (- allowed inside the part) add UT to cover such cases
Diffstat (limited to 'core/src/test/java/com')
-rw-r--r--core/src/test/java/com/google/zxing/client/result/EmailAddressParsedResultTestCase.java25
-rw-r--r--core/src/test/java/com/google/zxing/client/result/ParsedReaderResultTestCase.java3
2 files changed, 27 insertions, 1 deletions
diff --git a/core/src/test/java/com/google/zxing/client/result/EmailAddressParsedResultTestCase.java b/core/src/test/java/com/google/zxing/client/result/EmailAddressParsedResultTestCase.java
index 28e5da74e..ea79c4272 100644
--- a/core/src/test/java/com/google/zxing/client/result/EmailAddressParsedResultTestCase.java
+++ b/core/src/test/java/com/google/zxing/client/result/EmailAddressParsedResultTestCase.java
@@ -29,11 +29,36 @@ import org.junit.Test;
public final class EmailAddressParsedResultTestCase extends Assert {
@Test
+ public void testEmailAddresses() {
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress(null));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress(""));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123.365.com"));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("abc.def.com"));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123@abcd.c"));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123@abcd"));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123@ab,cd.com"));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123@ab#cd.com"));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123@ab!#cd.com"));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123@ab_cd.com"));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123@-abcd.com"));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123@abcd-.com"));
+ assertFalse(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123@abcd.c-m"));
+ assertTrue(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123@abcd.com"));
+ assertTrue(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("123@ab-cd.com"));
+ assertTrue(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("abc.456@ab-cd.com"));
+ assertTrue(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("abc.456@ab-cd.BB-EZ-12.com"));
+ assertTrue(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("建設省.456@ab-cd.com"));
+ assertTrue(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("abc.Z456@ab-Cd9Z.co"));
+ assertTrue(EmailDoCoMoResultParser.isBasicallyValidEmailAddress("建設省.aZ456@Ab-cd9Z.co"));
+ }
+
+ @Test
public void testEmailAddress() {
doTest("srowen@example.org", "srowen@example.org", null, null);
doTest("mailto:srowen@example.org", "srowen@example.org", null, null);
}
+
@Test
public void testTos() {
doTest("mailto:srowen@example.org,bob@example.org",
diff --git a/core/src/test/java/com/google/zxing/client/result/ParsedReaderResultTestCase.java b/core/src/test/java/com/google/zxing/client/result/ParsedReaderResultTestCase.java
index 1363aee49..97bcb3e80 100644
--- a/core/src/test/java/com/google/zxing/client/result/ParsedReaderResultTestCase.java
+++ b/core/src/test/java/com/google/zxing/client/result/ParsedReaderResultTestCase.java
@@ -92,7 +92,8 @@ public final class ParsedReaderResultTestCase extends Assert {
doTestResult("srowen@example.org", "srowen@example.org", ParsedResultType.EMAIL_ADDRESS);
doTestResult("mailto:srowen@example.org", "srowen@example.org", ParsedResultType.EMAIL_ADDRESS);
doTestResult("MAILTO:srowen@example.org", "srowen@example.org", ParsedResultType.EMAIL_ADDRESS);
- doTestResult("srowen@example", "srowen@example", ParsedResultType.EMAIL_ADDRESS);
+ doTestResult("srowen@example.com", "srowen@example.com", ParsedResultType.EMAIL_ADDRESS);
+ doTestResult("srowen@example", "srowen@example", ParsedResultType.TEXT);
doTestResult("srowen", "srowen", ParsedResultType.TEXT);
doTestResult("Let's meet @ 2", "Let's meet @ 2", ParsedResultType.TEXT);
}