blob: 911359c32a4e1e158d6f2e3ee9c21c1419d4f36b [file] [log] [blame]
<!DOCTYPE html>
<script src="../../resources/js-test.js"></script>
<style>
.host1 /deep/ div { color: green }
#host2 /deep/ div { color: red !important }
</style>
<div id="v1host"></div>
<div id="host1" class="host1"></div>
<div id="host2" class="host2"></div>
<script>
description("Cascade order for inner/outer tree rules with /deep/.");
// Trigger "V1" cascading order.
v1host.attachShadow({'mode': 'open'});
// /deep/ rules only apply to V0 shadow root.
var root1 = host1.createShadowRoot();
root1.innerHTML = '<style>#d1 {color:red}</style><div id="d1">Should be green</div><div style="color: red">Should be green</div>';
var root2 = host2.createShadowRoot();
root2.innerHTML = '<style>.d1 {color:green !important}</style><div class="d1">Should be green</div><div style="color: green !important">Should be green</div>';
var green = 'rgb(0, 128, 0)';
var red = 'rgb(255, 0, 0)';
shouldBe('getComputedStyle(root1.querySelector("div")).color', 'green');
shouldBe('getComputedStyle(root1.querySelector("div + div")).color', 'green');
shouldBe('getComputedStyle(root2.querySelector("div")).color', 'green');
shouldBe('getComputedStyle(root2.querySelector("div + div")).color', 'green');
</script>