OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="resources/shadow-dom.js"></script> | 4 <script src="resources/shadow-dom.js"></script> |
5 <script src="../../../resources/js-test.js"></script> | 5 <script src="../../../resources/js-test.js"></script> |
6 </head> | 6 </head> |
7 <body> | 7 <body> |
8 <div id='sandbox'></div> | 8 <div id='sandbox'></div> |
9 <pre id='console'></pre> | 9 <pre id='console'></pre> |
10 </body> | 10 </body> |
(...skipping 18 matching lines...) Expand all Loading... |
29 shouldNotBe(text, unevaledString); | 29 shouldNotBe(text, unevaledString); |
30 } | 30 } |
31 | 31 |
32 function cleanUp() | 32 function cleanUp() |
33 { | 33 { |
34 document.getElementById('sandbox').innerHTML = ''; | 34 document.getElementById('sandbox').innerHTML = ''; |
35 } | 35 } |
36 | 36 |
37 description('Test for casacde of treeboundary crossing rules.'); | 37 description('Test for casacde of treeboundary crossing rules.'); |
38 | 38 |
| 39 // Rules declared in inner treescope should win. |
| 40 sandbox.appendChild( |
| 41 createDOM('div', {'id': 'host'}, |
| 42 createDOM('style', {}, |
| 43 document.createTextNode('p:empty { border: 1px solid blue; }')), |
| 44 createShadowRoot( |
| 45 createDOM('style', {}, |
| 46 document.createTextNode('::content > p { border: 1px solid red;
}')), |
| 47 createDOM('div', {}, |
| 48 createShadowRoot( |
| 49 createDOM('style', {}, |
| 50 document.createTextNode('::content > p { border: 1px sol
id green; }')), |
| 51 createDOM('content', {})), |
| 52 createDOM('content', {}))), |
| 53 createDOM('p', {'id': 'target'}))); |
| 54 |
| 55 borderColorShouldBe('target', 'rgb(0, 128, 0)'); |
| 56 |
| 57 cleanUp(); |
| 58 |
39 // Rules declared in outer treescope should win. | 59 // Rules declared in outer treescope should win. |
40 sandbox.appendChild( | 60 sandbox.appendChild( |
41 createDOM('div', {}, | 61 createDOM('div', {}, |
42 createDOM('style', {}, | 62 createDOM('style', {}, |
43 document.createTextNode('div /shadow-deep/ span { border: 1px solid
green; }')), | 63 document.createTextNode('div /shadow-deep/ span { border: 1px solid
green; }')), |
44 createDOM('div', {'id': 'host'}, | 64 createDOM('div', {'id': 'host'}, |
45 createShadowRoot( | 65 createShadowRoot( |
46 createDOM('style', {}, | 66 createDOM('style', {}, |
47 document.createTextNode('div /shadow-deep/ span { border: 1p
x solid red; }')), | 67 document.createTextNode('div /shadow-deep/ span { border: 1p
x solid red; }')), |
48 createDOM('div', {'id': 'host2'}, | 68 createDOM('div', {'id': 'host2'}, |
49 createShadowRoot( | 69 createShadowRoot( |
50 createDOM('style', {}, | 70 createDOM('style', {}, |
51 document.createTextNode('div > span { border: 1px so
lid yellow; }')), | 71 document.createTextNode('div > span { border: 1px so
lid yellow; }')), |
52 createDOM('div', {}, | 72 createDOM('div', {}, |
53 createDOM('span', {'id': 'target'}, | 73 createDOM('span', {'id': 'target'}, |
54 document.createTextNode('Geen border'))))))))); | 74 document.createTextNode('Geen border'))))))))); |
55 | 75 |
56 borderColorShouldBe('host/host2/target', 'rgb(0, 128, 0)'); | 76 borderColorShouldBe('host/host2/target', 'rgb(0, 128, 0)'); |
57 | 77 |
58 cleanUp(); | 78 cleanUp(); |
59 | 79 |
60 // Test for /content/. | |
61 | |
62 // Rules declared in inner treescope should win. | |
63 // div > p and content /content/ p have the same specificity. | |
64 sandbox.appendChild( | |
65 createDOM('div', {'id': 'host'}, | |
66 createDOM('style', {}, | |
67 document.createTextNode('div > p { border: 1px solid blue; }')), | |
68 createShadowRoot( | |
69 createDOM('style', {}, | |
70 document.createTextNode('content /content/ p { border: 1px solid
red; }')), | |
71 createDOM('div', {}, | |
72 createShadowRoot( | |
73 createDOM('style', {}, | |
74 document.createTextNode('content /content/ p { border: 1
px solid green; }')), | |
75 createDOM('content', {})), | |
76 createDOM('content', {}))), | |
77 createDOM('p', {'id': 'target'}))); | |
78 | |
79 borderColorShouldBe('target', 'rgb(0, 128, 0)'); | |
80 | |
81 cleanUp(); | |
82 | |
83 // Comparing rules declared in outer treescope with rules declared in inner tree
scope. | 80 // Comparing rules declared in outer treescope with rules declared in inner tree
scope. |
84 // Outer's should win. | 81 // Outer's should win. |
85 sandbox.appendChild( | 82 sandbox.appendChild( |
86 createDOM('div', {}, | 83 createDOM('div', {}, |
87 createDOM('style', {}, | 84 createDOM('style', {}, |
88 document.createTextNode('div /shadow-deep/ p { border: 1px solid gre
en; }')), | 85 document.createTextNode('div /shadow-deep/ p:empty { border: 1px sol
id green; }')), |
89 createDOM('div', {'id': 'host'}, | 86 createDOM('div', {'id': 'host'}, |
90 createShadowRoot( | 87 createShadowRoot( |
91 createDOM('div', {}, | 88 createDOM('div', {}, |
92 createDOM('style', {}, | 89 createDOM('style', {}, |
93 document.createTextNode('div > p { border: 1px solid blu
e; }')), | 90 document.createTextNode('div > p:empty { border: 1px sol
id blue; }')), |
94 createShadowRoot( | 91 createShadowRoot( |
95 createDOM('style', {}, | 92 createDOM('style', {}, |
96 document.createTextNode('content /content/ p { borde
r: 1px solid red; }')), | 93 document.createTextNode('content::content > p { bord
er: 1px solid red; }')), |
97 createDOM('div', {}, | 94 createDOM('div', {}, |
98 createShadowRoot( | 95 createShadowRoot( |
99 createDOM('style', {}, | 96 createDOM('style', {}, |
100 document.createTextNode('content /content/ p
{ border: 1px solid yellow; }')), | 97 document.createTextNode('content::content >
p { border: 1px solid yellow; }')), |
101 createDOM('content', {})), | 98 createDOM('content', {})), |
102 createDOM('content', {}))), | 99 createDOM('content', {}))), |
103 createDOM('p', {'id': 'target'})))))); | 100 createDOM('p', {'id': 'target'})))))); |
104 | 101 |
105 borderColorShouldBe('host/target', 'rgb(0, 128, 0)'); | 102 borderColorShouldBe('host/target', 'rgb(0, 128, 0)'); |
106 | 103 |
107 cleanUp(); | 104 cleanUp(); |
108 | 105 |
109 </script> | 106 </script> |
110 </html> | 107 </html> |
111 | 108 |
OLD | NEW |