diff options
Diffstat (limited to 'testing/web-platform/tests/css/cssom/CSSStyleRule-set-selectorText-namespace.html')
-rw-r--r-- | testing/web-platform/tests/css/cssom/CSSStyleRule-set-selectorText-namespace.html | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/cssom/CSSStyleRule-set-selectorText-namespace.html b/testing/web-platform/tests/css/cssom/CSSStyleRule-set-selectorText-namespace.html new file mode 100644 index 0000000000..4da0a333e9 --- /dev/null +++ b/testing/web-platform/tests/css/cssom/CSSStyleRule-set-selectorText-namespace.html @@ -0,0 +1,60 @@ +<!DOCTYPE html> +<meta charset=utf-8> +<title>CSSOM StyleRule selectorText property setter with namespaces</title> +<link rel="help" href="https://drafts.csswg.org/cssom-1/#dom-cssstylerule-selectortext"> +<script src=/resources/testharness.js></script> +<script src=/resources/testharnessreport.js></script> + +<style type="text/css" id="styleElement"> +@namespace url(http://www.w3.org/1999/xhtml); +@namespace svg url(http://www.w3.org/2000/svg); + +svg|*.style0 { background-color: rgb(0, 0, 255) !important; } +svg|*.style1 { background-color: rgb(255, 0, 255); } +</style> + +<span> + <p></p> + + <svg height="30" width="200" id="container" class="style1" lang="zh-CN" language segment="42 43"> + <text x="0" y="15">SVG text</text> + </svg> +</span> + +<script> + var styleSheet = document.getElementById("styleElement").sheet; + var rule = styleSheet.cssRules[2]; + + var divContainerStyle = getComputedStyle(document.getElementById("container")); + + const originalStyleSelector = "svg|*.style0"; + + var assertColors = function(selectorMatches) { + assert_equals(divContainerStyle.getPropertyValue('background-color'), selectorMatches ? "rgb(0, 0, 255)" : "rgb(255, 0, 255)") + }; + + [ + {selector: ".style1", isMatch: false, }, + {selector: "svg|*.style1 ", isMatch: true, normalizedSelector: "svg|*.style1"}, + {selector: "*|*.style1 ", isMatch: true, normalizedSelector: "*|*.style1"}, + {selector: " *.style1 ", isMatch: false, normalizedSelector: ".style1"}, + {selector: "p", isMatch: false}, + ].forEach(function(testCase) { + test(function() { + // Check if starting with the default value. + assert_equals(rule.selectorText, originalStyleSelector); + + this.add_cleanup(function() { rule.selectorText = originalStyleSelector; }); + + assertColors(false); + + rule.selectorText = testCase.selector; + + var expectedSelector = testCase.normalizedSelector ? testCase.normalizedSelector : testCase.selector; + + assert_equals(rule.selectorText, expectedSelector); + + assertColors(testCase.isMatch); + }, "CSSStyleRule: selectorText value: |" + testCase.selector + "| isMatch: " + testCase.isMatch); + }); +</script> |