OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <script src='../resources/testharness.js'></script> | 2 <script src='../resources/testharness.js'></script> |
3 <script src='../resources/testharnessreport.js'></script> | 3 <script src='../resources/testharnessreport.js'></script> |
4 <script src='resources/shadow-dom.js'></script> | 4 <script src='resources/shadow-dom.js'></script> |
5 <div id='d1'> | 5 <div id='d1'> |
6 <template data-mode='open' data-expose-as='d1_shadow'> | 6 <template data-mode='open' data-expose-as='d1_shadow'> |
7 <slot name='d1-s1'></slot> | 7 <slot name='d1-s1'></slot> |
8 </template> | 8 </template> |
9 <div id='d2' slot='d1-s1'></div> | 9 <div id='d2' slot='d1-s1'></div> |
10 </div> | 10 </div> |
11 <script> | 11 <script> |
12 'use strict'; | 12 'use strict'; |
13 convertTemplatesToShadowRootsWithin(d1); | 13 convertTemplatesToShadowRootsWithin(d1); |
14 removeWhiteSpaceOnlyTextNodes(d1); | 14 removeWhiteSpaceOnlyTextNodes(d1); |
15 | 15 |
16 async_test((test) => { | 16 async_test((test) => { |
17 | 17 |
18 const d1_s1 = d1_shadow.querySelector('slot'); | 18 const d1_s1 = d1_shadow.querySelector('slot'); |
19 | 19 |
20 assert_array_equals(d1_s1.assignedNodes(), [d2]); | 20 assert_array_equals(d1_s1.assignedNodes(), [d2]); |
21 assert_array_equals(d1_s1.assignedNodes({'flatten': true}), [d2]); | 21 assert_array_equals(d1_s1.assignedNodes({'flatten': true}), [d2]); |
22 | 22 |
23 d1_s1.addEventListener('slotchange', (e) => { | 23 d1_s1.addEventListener('slotchange', (e) => { |
24 test.step(() => { | 24 test.step(() => { |
25 assert_equals(e.target, d1_s1); | 25 assert_equals(e.target, d1_s1); |
26 assert_array_equals(d1_s1.assignedNodes(), []); | 26 assert_array_equals(d1_s1.assignedNodes(), []); |
27 assert_array_equals(d1_s1.assignedNodes({'flatten': true}), []); | 27 assert_array_equals(d1_s1.assignedNodes({'flatten': true}), []); |
28 assert_equals(e.scoped, true); | |
29 test.done(); | 28 test.done(); |
30 }); | 29 }); |
31 }); | 30 }); |
32 | 31 |
33 d2.remove(); | 32 d2.remove(); |
34 }, "slotchange event caused by removing a node"); | 33 }, "slotchange event caused by removing a node"); |
35 </script> | 34 </script> |
OLD | NEW |