Index: LayoutTests/fast/dom/shadow/tabstop-property.html |
diff --git a/LayoutTests/fast/dom/shadow/tabstop-property.html b/LayoutTests/fast/dom/shadow/tabstop-property.html |
index f9e5cbe65c9517ba95cc9565764861793d877394..13f864dd86059783a6b706fc4d660f80aadfffce 100644 |
--- a/LayoutTests/fast/dom/shadow/tabstop-property.html |
+++ b/LayoutTests/fast/dom/shadow/tabstop-property.html |
@@ -9,21 +9,45 @@ |
<script> |
var div; |
+function resetAttributes(el) |
+{ |
+ el.removeAttribute("tabindex"); |
+ el.removeAttribute("tabstop"); |
+} |
+ |
+function tabStopShouldBe(el, expected) |
+{ |
+ shouldBe(el + ".tabStop", expected); |
+ shouldBeEqualToString(el + ".getAttribute('tabstop')", expected); |
+} |
+ |
function test() { |
debug("Testing tabStop property and attribute"); |
debug("Test tabStop normal assignment behavior"); |
div = document.createElement("div"); |
+ |
+ resetAttributes(div); |
var flag = div.tabStop; |
shouldBe("div.tabStop", "false"); |
div.tabStop = flag; |
+ tabStopShouldBe("div", "false"); |
+ |
+ div.removeAttribute('tabstop'); |
shouldBe("div.tabStop", "false"); |
+ shouldBe("div.hasAttribute('tabstop')", "false"); |
tkent
2015/03/31 08:11:18
nit: shouldBeFalse()
kochi
2015/03/31 08:46:08
Done.
|
+ |
+ div.tabStop = true; |
+ tabStopShouldBe("div", "true"); |
- div.removeAttribute('isTabstop'); |
+ div.removeAttribute('tabstop'); |
shouldBe("div.tabStop", "false"); |
+ shouldBe("div.hasAttribute('tabstop')", "false"); |
tkent
2015/03/31 08:11:18
nit: shouldBeFalse()
kochi
2015/03/31 08:46:08
Done.
|
+ |
- debug("Test tabStop override by tabindex property"); |
+ debug("Test tabStop value implicitly set by tabindex property"); |
+ resetAttributes(div); |
div.tabIndex = 0; |
shouldBe("div.tabStop", "true"); |
@@ -33,36 +57,60 @@ function test() { |
div.tabIndex = 1; |
shouldBe("div.tabStop", "true"); |
- debug("Test tabStop override by tabindex attribute"); |
+ resetAttributes(div); |
+ shouldBe("div.tabStop", "false"); |
tkent
2015/03/31 08:11:18
nit: shouldBeFalse()
kochi
2015/03/31 08:46:08
Done.
|
+ |
+ |
+ debug("Test explicit tabStop not overridable by tabindex attribute"); |
+ resetAttributes(div); |
div.tabStop = false; |
div.setAttribute("tabindex", "0"); |
- shouldBe("div.tabStop", "true"); |
+ tabStopShouldBe("div", "false"); |
div.tabStop = true; |
div.setAttribute("tabindex", "-1"); |
- shouldBe("div.tabStop", "false"); |
+ tabStopShouldBe("div", "true"); |
div.tabStop = false; |
div.setAttribute("tabIndex", "1"); |
- shouldBe("div.tabStop", "true"); |
+ tabStopShouldBe("div", "false"); |
+ |
+ resetAttributes(div); |
+ shouldBe("div.tabStop", "false"); |
tkent
2015/03/31 08:11:18
shouldBeFalse()
kochi
2015/03/31 08:46:08
Done.
|
+ shouldBe("div.hasAttribute('tabstop')", "false"); |
tkent
2015/03/31 08:11:18
shouldBeFalse()
kochi
2015/03/31 08:46:08
Done.
|
+ |
+ |
+ debug("Test tabStop change with explicit tabindex change"); |
+ resetAttributes(div); |
- debug("Test tabStop change after tabindex change"); |
div.tabIndex = 0; |
+ shouldBe("div.tabStop", "true"); |
div.tabStop = false; |
- shouldBe("div.tabStop", "false"); |
+ tabStopShouldBe("div", "false"); |
+ resetAttributes(div); |
div.tabIndex = -1; |
+ shouldBe("div.tabStop", "false"); |
tkent
2015/03/31 08:11:18
shouldBeFalse()
kochi
2015/03/31 08:46:08
Done.
|
div.tabStop = true; |
- shouldBe("div.tabStop", "true"); |
+ tabStopShouldBe("div", "true"); |
+ resetAttributes(div); |
+ |
+ debug("Test tabStop with invalid value"); |
+ resetAttributes(div); |
- debug("Test tabStop change before tabindex change which will be overridden"); |
- div.tabStop = false; |
div.tabIndex = 0; |
+ div.tabStop = false; |
+ tabStopShouldBe("div", "false"); |
+ div.setAttribute("tabstop", "invalid"); |
shouldBe("div.tabStop", "true"); |
tkent
2015/03/31 08:11:18
shouldBeTrue()
kochi
2015/03/31 08:46:08
Done.
|
+ shouldBeEqualToString("div.getAttribute('tabstop')", "invalid"); |
- div.tabStop = true; |
div.tabIndex = -1; |
+ div.tabStop = true; |
+ tabStopShouldBe("div", "true"); |
+ div.setAttribute("tabstop", "invalid"); |
shouldBe("div.tabStop", "false"); |
+ shouldBeEqualToString("div.getAttribute('tabstop')", "invalid"); |
} |
function run_test() { |