Index: LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/reset.html |
diff --git a/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/reset.html b/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/reset.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..50f8d5aaf3cede08d32f921593d2559fea4fd619 |
--- /dev/null |
+++ b/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-input-element/reset.html |
@@ -0,0 +1,113 @@ |
+<!DOCTYPE html> |
+<meta charset=utf-8> |
+<title>input type reset</title> |
+<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org"> |
+<link rel=help href="https://html.spec.whatwg.org/multipage/#reset-button-state-(type=reset)"> |
+<script src="../../../../../../resources/testharness.js"></script> |
+<script src="../../../../../../resources/testharnessreport.js"></script> |
+<div id="log"></div> |
+<form> |
+ <input type=text id=input1 value="foobar"> |
+ <input type=text id=input2> |
+ <input type=reset id=r1> |
+</form> |
+ |
+<input type=text id=input3 value="barfoo"> |
+ |
+<table> |
+ <form> |
+ <tr> |
+ <td> |
+ <input type=text id=input4 value="foobar"> |
+ <input type=reset id=r2> |
+ </td> |
+ </tr> |
+ </form> |
+</table> |
+ |
+<div> |
+ <form> |
+ <input type=text id=input5 value="foobar"> |
+ </div> |
+ <input type=reset id=r3> |
+</form> |
+ |
+<div> |
+ <form> |
+ <input type=reset id=r4> |
+ </div> |
+ <input type=text id=input6 value="foobar"> |
+</form> |
+ |
+<form id=form5> |
+ <input type=reset id=r5> |
+</form> |
+<input form=form5 type=text id=input7 value="foobar"> |
+ |
+<form id=form6> |
+ <input type=text id=input8 value="foobar"> |
+</form> |
+<input type=reset form=form6 id=r6> |
+ |
+<script> |
+ var input1 = document.getElementById('input1'), |
+ input2 = document.getElementById('input2'), |
+ input3 = document.getElementById('input3'), |
+ input7 = document.getElementById('input7'), |
+ input8 = document.getElementById('input8'), |
+ r1 = document.getElementById('r1'); |
+ |
+ test(function(){ |
+ assert_equals(input1.value, "foobar"); |
+ assert_equals(input2.value, ""); |
+ assert_equals(input3.value, "barfoo"); |
+ input1.value = "foobar1"; |
+ input2.value = "notempty"; |
+ input3.value = "barfoo1"; |
+ assert_equals(input1.value, "foobar1"); |
+ assert_equals(input2.value, "notempty"); |
+ assert_equals(input3.value, "barfoo1"); |
+ r1.click(); |
+ assert_equals(input1.value, "foobar"); |
+ assert_equals(input2.value, ""); |
+ assert_equals(input3.value, "barfoo1"); |
+ }, "reset button only resets the form owner"); |
+ |
+ test(function(){ |
+ assert_false(r1.willValidate); |
+ }, "the element is barred from constraint validation"); |
+ |
+ test(function(){ |
+ assert_equals(input1.value, "foobar"); |
+ assert_equals(input2.value, ""); |
+ assert_equals(input3.value, "barfoo1"); |
+ r1.disabled = true; |
+ r1.click(); |
+ assert_equals(input1.value, "foobar"); |
+ assert_equals(input2.value, ""); |
+ assert_equals(input3.value, "barfoo1"); |
+ }, "clicking on a disabled reset does nothing"); |
+ |
+ function testReset(inputId, buttonId) { |
+ var inp = document.getElementById(inputId); |
+ assert_equals(inp.value, "foobar"); |
+ inp.value = "barfoo"; |
+ assert_equals(inp.value, "barfoo"); |
+ document.getElementById(buttonId).click(); |
+ assert_equals(inp.value, "foobar"); |
+ } |
+ |
+ test(function(){ |
+ testReset("input4", "r2"); |
+ testReset("input5", "r3"); |
+ testReset("input6", "r4"); |
+ }, "reset button resets controls associated with their form using the form element pointer"); |
+ |
+ test(function(){ |
+ testReset("input7", "r5"); |
+ }, "reset button resets controls associated with a form using the form attribute"); |
+ |
+ test(function(){ |
+ testReset("input8", "r6"); |
+ }, "reset button associated with a form using the form attribute resets all the form's controls"); |
+</script> |