| Index: LayoutTests/fast/css/style-scoped/style-scoped-with-important-rule.html
|
| diff --git a/LayoutTests/fast/css/style-scoped/style-scoped-with-important-rule.html b/LayoutTests/fast/css/style-scoped/style-scoped-with-important-rule.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e5e593cbe574deafdf9670fb76a3ded87632b69e
|
| --- /dev/null
|
| +++ b/LayoutTests/fast/css/style-scoped/style-scoped-with-important-rule.html
|
| @@ -0,0 +1,83 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<head>
|
| +<style>
|
| +span { border-color: lime ! important; }
|
| +div { border-color: orange; }
|
| +div#id2 { border-color: yellow; }
|
| +</style>
|
| +<script src="../../../resources/js-test.js"></script>
|
| +</head>
|
| +<body>
|
| +<div>
|
| + <style scoped>
|
| + div { border-color: green ! important; }
|
| + div { border-color: red; }
|
| + div#id2 {border-color: purple; }
|
| + </style>
|
| + <div>
|
| + <style scoped>
|
| + div { border-color: blue; }
|
| + </style>
|
| + <div id="id1"></div>
|
| + </div>
|
| + <div>
|
| + <style scoped>
|
| + div#id2 { border-color: blue; }
|
| + </style>
|
| + <div id="id2"></div>
|
| + </div>
|
| + <div>
|
| + <style scoped>
|
| + div { border-color: blue; }
|
| + </style>
|
| + <div id="id3" style="border-color: red;"></div>
|
| + </div>
|
| + <div>
|
| + <style scoped>
|
| + div { border-color: blue !important; }
|
| + </style>
|
| + <div id="id4"></div>
|
| + </div>
|
| +</div>
|
| +<div>
|
| + <style scoped>
|
| + span#id5 { border-color: blue; }
|
| + </style>
|
| + <span id="id5"></span>
|
| +</div>
|
| +<div>
|
| + <style scoped>
|
| + span { border-color: blue !important; }
|
| + </style>
|
| + <span id="id6"></span>
|
| +</div>
|
| +</body>
|
| +<script>
|
| +description("Test that rules in an inner scoped stylesheet don't override !important rules declared in an outer scoped stylesheet.");
|
| +
|
| +var target1 = document.getElementById("id1");
|
| +debug("Case1: The target element has any matched important rule declared in an outer scoped stylesheet, and the element also has any matched normal rule declared in an inner scoped stylesheet.");
|
| +shouldBe('getComputedStyle(target1).borderColor', '"rgb(0, 128, 0)"');
|
| +
|
| +debug("Case2: The target element has any matched important rule declared in an outer scoped stylesheet, and the element also has a matched normal ID rule declared in an inner scoped stylesheet.");
|
| +var target2 = document.getElementById("id2");
|
| +shouldBe('getComputedStyle(target2).borderColor', '"rgb(0, 128, 0)"');
|
| +
|
| +debug("Case3: The target element has any matched important rule declared in an outer scoped stylesheet, and the element also has matched normal rules declared in an inner scoped stylesheet and in a STYLE attribute.");
|
| +var target3 = document.getElementById("id3");
|
| +shouldBe('getComputedStyle(target3).borderColor', '"rgb(0, 128, 0)"');
|
| +
|
| +debug("Case4: The target element has matched important rules. One is declared in an outer scoped stylesheet and the other is declared in an inner scoped stylesheet.");
|
| +var target4 = document.getElementById("id4");
|
| +shouldBe('getComputedStyle(target4).borderColor', '"rgb(0, 0, 255)"');
|
| +
|
| +debug("Case5: The target element has any matched important rule declared in an author stylesheet, and the element also has matched normal rules declared in an inner scoped stylesheet.");
|
| +var target5 = document.getElementById("id5");
|
| +shouldBe('getComputedStyle(target5).borderColor', '"rgb(0, 255, 0)"');
|
| +
|
| +debug("Case6: The target element has matched important rules. One is declared in an author stylesheet (not scoped) and the other is declared in a scoped stylesheet.");
|
| +var target6 = document.getElementById("id6");
|
| +shouldBe('getComputedStyle(target6).borderColor', '"rgb(0, 0, 255)"');
|
| +</script>
|
| +</html>
|
|
|