Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/email.html |
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/email.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/email.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..087895ba44e985ca709036228453b257b717175e |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/email.html |
@@ -0,0 +1,58 @@ |
+<!DOCTYPE html> |
+<title>Input Email</title> |
+<link rel="author" title="Kazuki Kanamori" href="mailto:yogurito@gmail.com"> |
+<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org"> |
+<link rel="help" href="https://html.spec.whatwg.org/multipage/#e-mail-state-(type=email)"> |
+<script src="../../../../../../resources/testharness.js"></script> |
+<script src="../../../../../../resources/testharnessreport.js"></script> |
+<input type="email" id="single_email" value="user@example.com"/> |
+<input type="email" id="multiple_email" value="user1@example.com, user2@test.com" multiple/> |
+<div id="log"></div> |
+ |
+<script type="text/javascript"> |
+ var single = document.getElementById('single_email'), |
+ mult = document.getElementById('multiple_email'); |
+ |
+ test(function(){ |
+ assert_false(single.multiple); |
+ }, "single_email doesn't have the multiple attribute"); |
+ |
+ test(function(){ |
+ single.value = 'user2@example.com\u000A'; |
+ assert_equals(single.value, 'user2@example.com'); |
+ single.value = 'user3@example.com\u000D'; |
+ assert_equals(single.value, 'user3@example.com'); |
+ }, 'value should be sanitized: strip line breaks'); |
+ |
+ test(function(){ |
+ single.value = 'user4@example.com'; |
+ assert_true(single.validity.valid); |
+ single.value = 'example.com'; |
+ assert_false(single.validity.valid); |
+ }, 'Email address validity'); |
+ |
+ test(function(){ |
+ single.setAttribute('multiple', true); |
+ single.value = ' user@example.com , user2@example.com '; |
+ assert_equals(single.value, 'user@example.com,user2@example.com'); |
+ single.removeAttribute('multiple'); |
+ assert_equals(single.value, 'user@example.com,user2@example.com'); |
+ }, 'When the multiple attribute is removed, the user agent must run the value sanitization algorithm'); |
+ |
+ test(function(){ |
+ assert_true(mult.multiple); |
+ }, "multiple_email has the multiple attribute"); |
+ |
+ test(function(){ |
+ mult.value = ' user1@example.com , user2@test.com, user3@test.com '; |
+ assert_equals(mult.value, 'user1@example.com,user2@test.com,user3@test.com'); |
+ }, "run the value sanitization algorithm after setting a new value"); |
+ |
+ test(function(){ |
+ mult.value = 'user1@example.com,user2@test.com,user3@test.com'; |
+ assert_true(mult.validity.valid); |
+ |
+ mult.value = 'u,ser1@example.com,user2@test.com,user3@test.com'; |
+ assert_false(mult.validity.valid); |
+ }, "valid value is a set of valid email addresses separated by a single ','"); |
+</script> |