<!DOCTYPE html>
<title>Shadow DOM: Slots and fallback contents in Document tree</title>
<meta name="author" title="Takayoshi Kochi" href="mailto:kochi@google.com">
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<script src="resources/shadow-dom.js"></script>

<div id="test1">
  <div id="host">
    <template data-mode="open">
      <slot id="innerSlot"></slot>
    </template>
    <slot id="slot"><div id="fallback">This is fallback content</div></slot>
  </div>
</div>

<script>
'use strict';

let n1 = createTestTree(test1);
removeWhiteSpaceOnlyTextNodes(n1.test1);

test(() => {
  assert_array_equals(n1.innerSlot.assignedNodes(), [n1.slot]);
  assert_array_equals(n1.innerSlot.assignedNodes({ flatten: true }), [n1.slot]);
}, 'Children of a slot in a document tree should not be counted in flattened ' +
   'assigned nodes.');
</script>

<div id="test2">
  <div id="host">
    <template data-mode="open">
      <div id="innerHost">
        <template data-mode="open">
          <slot id="innerSlot"></slot>
        </template>
        <slot id="slot"><div id="fallback">This is fallback content</div></slot>
      </div>
    </template>
  </div>
</div>

<script>
'use strict';

let n2 = createTestTree(test2);
removeWhiteSpaceOnlyTextNodes(n2.test2);

test(() => {
  assert_array_equals(n2.innerSlot.assignedNodes(), [n2.slot]);
  assert_array_equals(n2.innerSlot.assignedNodes({ flatten: true }),
                      [n2.fallback]);
}, 'Slot fallback content in shadow tree should be counted in flattened ' +
   'assigned nodes.');
</script>
