| 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='d1'> |  | 
|   6   <template data-mode='open' data-expose-as='d1_shadow'> |  | 
|   7     <div id='d1-d1'> |  | 
|   8       <template data-mode='open' data-expose-as='d1_d1_shadow'> |  | 
|   9         <slot name='d1-d1-s1'></slot> |  | 
|  10       </template> |  | 
|  11       <slot name='d1-s1' slot='d1-d1-s1'></slot> |  | 
|  12     </div> |  | 
|  13   </template> |  | 
|  14   <div id='d2' slot='d1-s1'></div> |  | 
|  15 </div> |  | 
|  16 <script> |  | 
|  17 'use strict'; |  | 
|  18 convertTemplatesToShadowRootsWithin(d1); |  | 
|  19 removeWhiteSpaceOnlyTextNodes(d1); |  | 
|  20  |  | 
|  21 async_test((test) => { |  | 
|  22   var count = 0; |  | 
|  23  |  | 
|  24   const d1_s1 = d1_shadow.querySelector('slot'); |  | 
|  25   const d1_d1_s1 = d1_d1_shadow.querySelector('slot'); |  | 
|  26  |  | 
|  27   assert_array_equals(d1_s1.getAssignedNodes(), [d2]); |  | 
|  28   assert_array_equals(d1_s1.getAssignedNodes({'flatten': true}), [d2]); |  | 
|  29  |  | 
|  30   assert_array_equals(d1_d1_s1.getAssignedNodes(), [d1_s1]); |  | 
|  31   assert_array_equals(d1_d1_s1.getAssignedNodes({'flatten': true}), [d2]); |  | 
|  32  |  | 
|  33   d1_s1.addEventListener('slotchange', (e) => { |  | 
|  34     test.step(() => { |  | 
|  35       assert_equals(e.target, d1_s1); |  | 
|  36       assert_array_equals(d1_s1.getAssignedNodes(), [d2, d3]); |  | 
|  37       assert_array_equals(d1_s1.getAssignedNodes({'flatten': true}), [d2, d3]); |  | 
|  38       assert_array_equals(e.scoped, true); |  | 
|  39       count++; |  | 
|  40       // The order when a slotchange event is dispatched in the slots is not gur
    anteed. |  | 
|  41       if (count == 2) |  | 
|  42         test.done(); |  | 
|  43     }); |  | 
|  44   }); |  | 
|  45  |  | 
|  46   d1_d1_s1.addEventListener('slotchange', (e) => { |  | 
|  47     test.step(() => { |  | 
|  48       assert_equals(e.target, d1_d1_s1); |  | 
|  49       assert_array_equals(d1_d1_s1.getAssignedNodes(), [d1_s1]); |  | 
|  50       assert_array_equals(d1_d1_s1.getAssignedNodes({'flatten': true}), [d2, d3]
    ); |  | 
|  51       assert_array_equals(e.scoped, true); |  | 
|  52       count++; |  | 
|  53       if (count == 2) |  | 
|  54         test.done(); |  | 
|  55     }); |  | 
|  56   }); |  | 
|  57  |  | 
|  58   const d3 = document.createElement('div'); |  | 
|  59   d3.setAttribute('id', 'd3'); |  | 
|  60   d3.setAttribute('slot', 'd1-s1'); |  | 
|  61   d1.appendChild(d3); |  | 
|  62 }, "slotchange event should be dispatched."); |  | 
|  63 </script> |  | 
| OLD | NEW |