option-selected.html (1592B)
1 <!doctype html> 2 <meta charset=utf-8> 3 <title>HTMLOptionElement.selected</title> 4 <link rel=author title="Corey Farwell" href="mailto:coreyf@rwell.org"> 5 <link rel=help href="https://html.spec.whatwg.org/multipage/#dom-option-selected"> 6 <script src="/resources/testharness.js"></script> 7 <script src="/resources/testharnessreport.js"></script> 8 <div id=log></div> 9 10 <script> 11 test(function () { 12 var elem = document.createElement("option"); 13 assert_equals(elem.selected, false); 14 15 elem.setAttribute("selected", ""); 16 assert_equals(elem.selected, true); 17 18 elem.removeAttribute("selected"); 19 assert_equals(elem.selected, false); 20 21 elem.defaultSelected = true 22 assert_equals(elem.selected, true); 23 24 elem.defaultSelected = false; 25 assert_equals(elem.selected, false); 26 }, "not dirty"); 27 28 test(function () { 29 testDirty(true); 30 }, "dirty, selected"); 31 32 test(function () { 33 testDirty(false); 34 }, "dirty, not selected"); 35 36 function testDirty(isSelected) { 37 var elem = document.createElement("option"); 38 39 elem.selected = isSelected; // After this assignment, dirtiness=true 40 assertDirty(elem, isSelected); 41 42 elem.selected = !isSelected; // Change the value, still dirty 43 assertDirty(elem, !isSelected); 44 }; 45 46 function assertDirty(elem, expect) { 47 assert_equals(elem.selected, expect); 48 49 elem.setAttribute("selected", ""); 50 assert_equals(elem.selected, expect); 51 52 elem.removeAttribute("selected"); 53 assert_equals(elem.selected, expect); 54 55 elem.defaultSelected = true; 56 assert_equals(elem.selected, expect); 57 58 elem.defaultSelected = false; 59 assert_equals(elem.selected, expect); 60 } 61 </script>