| OLD | NEW |
| (Empty) |
| 1 <!doctype html> | |
| 2 <html> | |
| 3 <head> | |
| 4 <style> | |
| 5 span { | |
| 6 background-color: green; | |
| 7 } | |
| 8 </style> | |
| 9 <script src="../../../resources/js-test.js"></script> | |
| 10 </head> | |
| 11 <body> | |
| 12 <div> | |
| 13 <div> | |
| 14 <style id="existingStyle" scoped> | |
| 15 .target { background-color: red; } | |
| 16 </style> | |
| 17 <span id="target" class="target">Hello, World!</span> | |
| 18 </div> | |
| 19 </div> | |
| 20 </body> | |
| 21 <script> | |
| 22 description("Tests that <style scoped> is correctly applied after DOM oper
ations, i.e. insertBefore, appendChild, and removeChild."); | |
| 23 | |
| 24 var target = document.getElementById('target'); | |
| 25 | |
| 26 var existingStyle = document.getElementById('existingStyle'); | |
| 27 var newStyle = document.createElement('style'); | |
| 28 | |
| 29 newStyle.setAttribute('scoped', 'scoped'); | |
| 30 newStyle.innerHTML = ".target { background-color: blue; }"; | |
| 31 | |
| 32 debug("Insert a new scoped style before an existing scoped style."); | |
| 33 existingStyle.parentNode.insertBefore(newStyle, existingStyle); | |
| 34 shouldBe("window.getComputedStyle(target).backgroundColor", '"rgb(255, 0, 0)"'); | |
| 35 | |
| 36 debug("Move an inserted scoped style after an existing scoped style."); | |
| 37 existingStyle.parentNode.appendChild(newStyle); | |
| 38 shouldBe("window.getComputedStyle(target).backgroundColor", '"rgb(0, 0, 255)"'); | |
| 39 | |
| 40 debug("Move an inserted scoped style into grandparent of an existing scoped styl
e."); | |
| 41 document.body.children[0].appendChild(newStyle); | |
| 42 shouldBe("window.getComputedStyle(target).backgroundColor", '"rgb(255, 0, 0)"'); | |
| 43 | |
| 44 debug("Remove an inserted scoped style."); | |
| 45 newStyle.parentNode.removeChild(newStyle); | |
| 46 shouldBe("window.getComputedStyle(target).backgroundColor", '"rgb(255, 0, 0)"'); | |
| 47 | |
| 48 debug("Remove an existing scoped style."); | |
| 49 existingStyle.parentNode.removeChild(existingStyle); | |
| 50 shouldBe("window.getComputedStyle(target).backgroundColor", '"rgb(0, 128, 0)"'); | |
| 51 </script> | |
| 52 </html> | |
| OLD | NEW |