[Autofill] Validate e-mail address


[email protected]
BUG=170467


Review URL: https://chromiumcodereview.appspot.com/12212178

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184211 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/autofill/validation_unittest.cc b/chrome/browser/autofill/validation_unittest.cc
index 6e67b861..456bebf 100644
--- a/chrome/browser/autofill/validation_unittest.cc
+++ b/chrome/browser/autofill/validation_unittest.cc
@@ -43,6 +43,18 @@
   "12345",  // CSC too long.
   "asd",  // non-numeric CSC.
 };
+const char* const kValidEmailAddress[] = {
+  "user@example",
+  "[email protected]",
+  "[email protected]",
+  "[email protected]",
+};
+const char* const kInvalidEmailAddress[] = {
+  "user",
+  "foo.com",
+  "user@",
+  "user@=example.com"
+};
 }  // namespace
 
 TEST(AutofillValidation, IsValidCreditCardNumber) {
@@ -73,3 +85,17 @@
   }
 }
 
+TEST(AutofillValidation, IsValidEmailAddress) {
+  for (size_t i = 0; i < arraysize(kValidEmailAddress); ++i) {
+    SCOPED_TRACE(kValidEmailAddress[i]);
+    EXPECT_TRUE(
+        autofill::IsValidEmailAddress(ASCIIToUTF16(kValidEmailAddress[i])));
+  }
+  for (size_t i = 0; i < arraysize(kInvalidEmailAddress); ++i) {
+    SCOPED_TRACE(kInvalidEmailAddress[i]);
+    EXPECT_FALSE(
+        autofill::IsValidEmailAddress(ASCIIToUTF16(kInvalidEmailAddress[i])));
+  }
+}
+
+