diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/forms/the-option-element/option-selected.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/forms/the-option-element/option-selected.html | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/forms/the-option-element/option-selected.html b/testing/web-platform/tests/html/semantics/forms/the-option-element/option-selected.html new file mode 100644 index 000000000..e18e90b85 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/forms/the-option-element/option-selected.html @@ -0,0 +1,61 @@ +<!doctype html> +<meta charset=utf-8> +<title>HTMLOptionElement.selected</title> +<link rel=author title="Corey Farwell" href="mailto:coreyf@rwell.org"> +<link rel=help href="https://html.spec.whatwg.org/multipage/#dom-option-selected"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<div id=log></div> + +<script> +test(function () { + var elem = document.createElement("option"); + assert_equals(elem.selected, false); + + elem.setAttribute("selected", ""); + assert_equals(elem.selected, true); + + elem.removeAttribute("selected"); + assert_equals(elem.selected, false); + + elem.defaultSelected = true + assert_equals(elem.selected, true); + + elem.defaultSelected = false; + assert_equals(elem.selected, false); +}, "not dirty"); + +test(function () { + testDirty(true); +}, "dirty, selected"); + +test(function () { + testDirty(false); +}, "dirty, not selected"); + +function testDirty(isSelected) { + var elem = document.createElement("option"); + + elem.selected = isSelected; // After this assignment, dirtiness=true + assertDirty(elem, isSelected); + + elem.selected = !isSelected; // Change the value, still dirty + assertDirty(elem, !isSelected); +}; + +function assertDirty(elem, expect) { + assert_equals(elem.selected, expect); + + elem.setAttribute("selected", ""); + assert_equals(elem.selected, expect); + + elem.removeAttribute("selected"); + assert_equals(elem.selected, expect); + + elem.defaultSelected = true; + assert_equals(elem.selected, expect); + + elem.defaultSelected = false; + assert_equals(elem.selected, expect); +} +</script> |