| 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 |