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 | |
59 // Rules declared in outer treescope should win. | 39 // Rules declared in outer treescope should win. |
60 sandbox.appendChild( | 40 sandbox.appendChild( |
61 createDOM('div', {}, | 41 createDOM('div', {}, |
62 createDOM('style', {}, | 42 createDOM('style', {}, |
63 document.createTextNode('div /shadow-deep/ span { border: 1px solid
green; }')), | 43 document.createTextNode('div /shadow-deep/ span { border: 1px solid
green; }')), |
64 createDOM('div', {'id': 'host'}, | 44 createDOM('div', {'id': 'host'}, |
65 createShadowRoot( | 45 createShadowRoot( |
66 createDOM('style', {}, | 46 createDOM('style', {}, |
67 document.createTextNode('div /shadow-deep/ span { border: 1p
x solid red; }')), | 47 document.createTextNode('div /shadow-deep/ span { border: 1p
x solid red; }')), |
68 createDOM('div', {'id': 'host2'}, | 48 createDOM('div', {'id': 'host2'}, |
69 createShadowRoot( | 49 createShadowRoot( |
70 createDOM('style', {}, | 50 createDOM('style', {}, |
71 document.createTextNode('div > span { border: 1px so
lid yellow; }')), | 51 document.createTextNode('div > span { border: 1px so
lid yellow; }')), |
72 createDOM('div', {}, | 52 createDOM('div', {}, |
73 createDOM('span', {'id': 'target'}, | 53 createDOM('span', {'id': 'target'}, |
74 document.createTextNode('Geen border'))))))))); | 54 document.createTextNode('Geen border'))))))))); |
75 | 55 |
76 borderColorShouldBe('host/host2/target', 'rgb(0, 128, 0)'); | 56 borderColorShouldBe('host/host2/target', 'rgb(0, 128, 0)'); |
77 | 57 |
78 cleanUp(); | 58 cleanUp(); |
79 | 59 |
| 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 |
80 // Comparing rules declared in outer treescope with rules declared in inner tree
scope. | 83 // Comparing rules declared in outer treescope with rules declared in inner tree
scope. |
81 // Outer's should win. | 84 // Outer's should win. |
82 sandbox.appendChild( | 85 sandbox.appendChild( |
83 createDOM('div', {}, | 86 createDOM('div', {}, |
84 createDOM('style', {}, | 87 createDOM('style', {}, |
85 document.createTextNode('div /shadow-deep/ p:empty { border: 1px sol
id green; }')), | 88 document.createTextNode('div /shadow-deep/ p { border: 1px solid gre
en; }')), |
86 createDOM('div', {'id': 'host'}, | 89 createDOM('div', {'id': 'host'}, |
87 createShadowRoot( | 90 createShadowRoot( |
88 createDOM('div', {}, | 91 createDOM('div', {}, |
89 createDOM('style', {}, | 92 createDOM('style', {}, |
90 document.createTextNode('div > p:empty { border: 1px sol
id blue; }')), | 93 document.createTextNode('div > p { border: 1px solid blu
e; }')), |
91 createShadowRoot( | 94 createShadowRoot( |
92 createDOM('style', {}, | 95 createDOM('style', {}, |
93 document.createTextNode('content::content > p { bord
er: 1px solid red; }')), | 96 document.createTextNode('content /content/ p { borde
r: 1px solid red; }')), |
94 createDOM('div', {}, | 97 createDOM('div', {}, |
95 createShadowRoot( | 98 createShadowRoot( |
96 createDOM('style', {}, | 99 createDOM('style', {}, |
97 document.createTextNode('content::content >
p { border: 1px solid yellow; }')), | 100 document.createTextNode('content /content/ p
{ border: 1px solid yellow; }')), |
98 createDOM('content', {})), | 101 createDOM('content', {})), |
99 createDOM('content', {}))), | 102 createDOM('content', {}))), |
100 createDOM('p', {'id': 'target'})))))); | 103 createDOM('p', {'id': 'target'})))))); |
101 | 104 |
102 borderColorShouldBe('host/target', 'rgb(0, 128, 0)'); | 105 borderColorShouldBe('host/target', 'rgb(0, 128, 0)'); |
103 | 106 |
104 cleanUp(); | 107 cleanUp(); |
105 | 108 |
106 </script> | 109 </script> |
107 </html> | 110 </html> |
108 | 111 |
OLD | NEW |