4 <script src="resources/shadow-dom.js"></script>
5 <script src="../../../resources/js-test.js"></script>
9 <div id='target5' class='bar'>Should have blue background.</div>
11 <pre id='console'></pre>
15 function backgroundColorOf(node)
17 return document.defaultView.getComputedStyle(node, null).getPropertyValue('background-color');
20 function backgroundColorShouldBe(selector, color)
22 var text = 'backgroundColorOf(getNodeInTreeOfTrees("' + selector + '"))';
23 shouldBeEqualToString(text, color);
26 var sandbox = document.getElementById('sandbox');
28 createDOM('div', {'id': 'host'},
30 createDOM('div', {'id': 'target1', 'class': 'foo'},
31 document.createTextNode('Should have green background')),
32 createDOM('div', {'id': 'target2'},
33 document.createTextNode('Should have green background')),
34 createDOM('div', {'id': 'target3', 'class': 'bar'},
35 document.createTextNode('Should have blue background')),
36 createDOM('div', {'id': 'target4'},
37 document.createTextNode('Should have blue background')))));
38 document.body.offsetLeft;
40 var style = document.createElement('style');
41 style.innerHTML = 'div ^ .foo { background: green; }'
42 + 'div ^ #target2 { background: green; }'
43 + 'div ^^ .bar { background: blue; }'
44 + 'div ^^ #target4 { background: blue; }';
45 document.body.appendChild(style);
47 backgroundColorShouldBe('host/target1', 'rgb(0, 128, 0)');
48 backgroundColorShouldBe('host/target2', 'rgb(0, 128, 0)');
49 backgroundColorShouldBe('host/target3', 'rgb(0, 0, 255)');
50 backgroundColorShouldBe('host/target4', 'rgb(0, 0, 255)');
51 backgroundColorShouldBe('target5', 'rgb(0, 0, 255)');