blob: 6ce0040c4a2c52b0e681051449db9c49edbc53e6 [file] [log] [blame]
<!DOCTYPE html>
<meta charset="utf-8">
<title>Resetting a form integration test</title>
<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#concept-form-reset">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
"use strict";
test(() => {
const form = document.createElement("form");
const text = document.createElement("input");
text.type = "text";
const checkbox = document.createElement("input");
checkbox.type = "checkbox";
const select = document.createElement("select");
select.multiple = true;
const option = document.createElement("option");
option.value = "option";
const textarea = document.createElement("textarea");
form.appendChild(text);
form.appendChild(checkbox);
form.appendChild(textarea);
form.appendChild(select);
select.appendChild(option);
text.defaultValue = "text default";
checkbox.defaultChecked = true;
option.defaultSelected = true;
textarea.defaultValue = "textarea default";
text.value = "text new value";
checkbox.checked = false;
option.selected = false;
textarea.value = "textarea new value";
form.reset();
assert_equals(text.value, "text default", "input should reset value to default");
assert_equals(checkbox.checked, true, "input should reset checkedness to default");
assert_equals(option.selected, true, "second option should reset selectedness to default");
assert_equals(select.selectedIndex, 0, "second option should reset selectedness to default");
assert_equals(textarea.value, "textarea default", "textarea should reset api value to default");
text.defaultValue = "text new default";
checkbox.defaultChecked = false;
option.defaultSelected = false;
textarea.defaultValue = "textarea new default";
assert_equals(text.value, "text new default", "input should reset dirty value to false");
assert_equals(checkbox.checked, false, "input should reset dirty checkedness to false");
assert_equals(option.selected, false, "option should reset dirtyness to false");
assert_equals(select.selectedIndex, -1, "option should reset dirtyness to false");
assert_equals(textarea.value, "textarea new default", "textarea should reset dirty value to false");
}, "integration test on reset for a created-from-script form");
</script>