Index: third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-option-element/option-selected.html |
diff --git a/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-option-element/option-selected.html b/third_party/WebKit/LayoutTests/imported/web-platform-tests/html/semantics/forms/the-option-element/option-selected.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ed7ce6ae11643eae4c6bd09d37bbfbb9c5e9e7fd |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/imported/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/forms.html#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> |