<!DOCTYPE html>
<script src='../resources/testharness.js'></script>
<script src='../resources/testharnessreport.js'></script>
<script src='resources/shadow-dom.js'></script>
<div id='host'>
  <template data-mode='open'>
    <slot name='slot1'>
      <div id='fallback1'></div>
    </slot>
    <slot name='slot2'>
      <div id='fallback2'></div>
    </slot>
  </template>
  <div id='child1' slot='slot1'></div>
</div>
<script>
'use strict';
convertTemplatesToShadowRootsWithin(host);
removeWhiteSpaceOnlyTextNodes(host);
document.body.offsetLeft;

const slot1 = host.shadowRoot.querySelector('[name=slot1]');
const slot2 = host.shadowRoot.querySelector('[name=slot2]');
const fallback2 = host.shadowRoot.querySelector('#fallback2');

test(() => {
  assert_equals(child1.assignedSlot, slot1);
}, "assignedSlot");

test(() => {
  assert_array_equals(slot1.assignedNodes(), [child1]);
  assert_array_equals(slot2.assignedNodes(), []);
}, "assignedNodes");

test(() => {
  assert_array_equals(slot1.assignedNodes({flatten: true}), [child1]);
  assert_array_equals(slot2.assignedNodes({flatten: true}), [fallback2]);
}, "getDistributedNodes");
</script>
