OLD | NEW |
| (Empty) |
1 <!DOCTYPE html> | |
2 <script src='../resources/testharness.js'></script> | |
3 <script src='../resources/testharnessreport.js'></script> | |
4 <script src='resources/shadow-dom.js'></script> | |
5 <div id='host'> | |
6 <template data-mode='open'> | |
7 <div id='host2'> | |
8 <template data-mode='open'> | |
9 <slot name='slot-a'> | |
10 <slot name='slot-b'> | |
11 </slot> | |
12 <div id='fallback-a'></div> | |
13 </slot> | |
14 </template> | |
15 <slot name='slot1' slot='slot-b'> | |
16 <div id='fallback1'></div> | |
17 <slot name='slot2'> | |
18 <div id='fallback2'></div> | |
19 </slot> | |
20 </slot> | |
21 <slot name='slot3'> | |
22 <slot name='slot4'> | |
23 <div id='fallback3'></div> | |
24 </slot> | |
25 </slot> | |
26 </div> | |
27 </template> | |
28 <div id='child1' slot='slot2'></div> | |
29 </div> | |
30 <script> | |
31 'use strict'; | |
32 convertTemplatesToShadowRootsWithin(host); | |
33 removeWhiteSpaceOnlyTextNodes(host); | |
34 document.body.offsetLeft; | |
35 | |
36 const slot1 = host.shadowRoot.querySelector('[name=slot1]'); | |
37 const slot2 = host.shadowRoot.querySelector('[name=slot2]'); | |
38 const slot3 = host.shadowRoot.querySelector('[name=slot3]'); | |
39 const slot4 = host.shadowRoot.querySelector('[name=slot4]'); | |
40 const fallback1 = host.shadowRoot.querySelector('#fallback1'); | |
41 const fallback2 = host.shadowRoot.querySelector('#fallback2'); | |
42 const fallback3 = host.shadowRoot.querySelector('#fallback3'); | |
43 | |
44 const host2 = host.shadowRoot.querySelector('#host2'); | |
45 | |
46 const slot_a = host2.shadowRoot.querySelector('[name=slot-a]'); | |
47 const slot_b = host2.shadowRoot.querySelector('[name=slot-b]'); | |
48 const fallback_a = host2.shadowRoot.querySelector('#fallback-a'); | |
49 | |
50 test(() => { | |
51 assert_equals(child1.assignedSlot, slot2); | |
52 assert_equals(fallback1.assignedSlot, null); | |
53 assert_equals(fallback2.assignedSlot, null); | |
54 assert_equals(fallback3.assignedSlot, null); | |
55 | |
56 assert_equals(slot1.assignedSlot, slot_b); | |
57 assert_equals(slot2.assignedSlot, null); | |
58 assert_equals(slot3.assignedSlot, null); | |
59 assert_equals(slot4.assignedSlot, null); | |
60 | |
61 assert_equals(slot_a.assignedSlot, null); | |
62 assert_equals(slot_b.assignedSlot, null); | |
63 assert_equals(fallback_a.assignedSlot, null); | |
64 }, "assignedSlot"); | |
65 | |
66 test(() => { | |
67 assert_array_equals(slot1.assignedNodes(), []); | |
68 assert_array_equals(slot2.assignedNodes(), [child1]); | |
69 assert_array_equals(slot3.assignedNodes(), []); | |
70 assert_array_equals(slot4.assignedNodes(), []); | |
71 | |
72 assert_array_equals(slot_a.assignedNodes(), []); | |
73 assert_array_equals(slot_b.assignedNodes(), [slot1]); | |
74 }, "assignedNodes"); | |
75 | |
76 test(() => { | |
77 assert_array_equals(slot1.assignedNodes({flatten: true}), [fallback1, child1])
; | |
78 assert_array_equals(slot2.assignedNodes({flatten: true}), [child1]); | |
79 assert_array_equals(slot3.assignedNodes({flatten: true}), [fallback3]); | |
80 assert_array_equals(slot4.assignedNodes({flatten: true}), [fallback3]); | |
81 | |
82 assert_array_equals(slot_a.assignedNodes({flatten: true}), [fallback1, child1,
fallback_a]); | |
83 assert_array_equals(slot_b.assignedNodes({flatten: true}), [fallback1, child1]
); | |
84 }, "getDistributedNodes"); | |
85 </script> | |
OLD | NEW |