| <!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> |