4 <script src="../../../resources/js-test.js"></script>
6 <div id="container"></div>
7 <pre id="console"></div>
10 description('Confirms shadow.olderShadowRoot returns correct ShadowRoot');
14 host = document.createElement('div');
15 oldestShadowRoot = host.createShadowRoot();
16 youngerShadowRoot = host.createShadowRoot();
18 container.appendChild(host);
22 container.innerHTML = "";
28 debug('shadow in younger ShadowDOM');
29 shadow = document.createElement('shadow');
30 youngerShadowRoot.appendChild(shadow);
32 shouldBe('shadow.olderShadowRoot', 'oldestShadowRoot');
37 debug('shadow in the oldest ShadowDOM');
38 shadow = document.createElement('shadow');
39 oldestShadowRoot.appendChild(shadow);
41 shouldBe('shadow.olderShadowRoot', 'null');
46 debug('2 active shadows');
47 shadow1 = document.createElement('shadow');
48 shadow2 = document.createElement('shadow');
49 youngerShadowRoot.appendChild(shadow1);
50 youngerShadowRoot.appendChild(shadow2);
52 shouldBe('shadow1.olderShadowRoot', 'oldestShadowRoot');
53 shouldBe('shadow2.olderShadowRoot', 'null');
58 debug('the first shadow is not active');
59 shadow1 = document.createElement('shadow');
60 shadow2 = document.createElement('shadow');
62 var content = document.createElement('content');
63 content.appendChild(shadow1);
65 youngerShadowRoot.appendChild(content);
66 youngerShadowRoot.appendChild(shadow2);
68 shouldBe('shadow1.olderShadowRoot', 'null');
69 shouldBe('shadow2.olderShadowRoot', 'oldestShadowRoot');
74 debug('nested ShadowDOM case');
75 nestedHost = document.createElement('div');
76 nestedOldestShadowRoot = nestedHost.createShadowRoot();
77 nestedYoungerShadowRoot = nestedHost.createShadowRoot();
78 oldestShadowRoot.appendChild(nestedHost);
80 shadow1 = document.createElement('shadow');
81 shadow2 = document.createElement('shadow');
82 nestedOldestShadowRoot.appendChild(shadow1);
83 nestedYoungerShadowRoot.appendChild(shadow2);
85 shouldBe('shadow1.olderShadowRoot', 'null');
86 shouldBe('shadow2.olderShadowRoot', 'nestedOldestShadowRoot');
91 debug('orphan shadow');
92 shadow = document.createElement('shadow');
93 shouldBe('shadow.olderShadowRoot', 'null');
98 debug('orphan Shadow DOM');
99 shadow = document.createElement('shadow');
100 youngerShadowRoot.appendChild(shadow);
102 container.removeChild(host);
104 shouldBe('shadow.olderShadowRoot', 'oldestShadowRoot');
107 container.innerHTML = '';