blob: fbc5b9c59574038ff588a13f93b1ae9db49b3b68 [file] [log] [blame]
<!DOCTYPE html>
<script src='../resources/testharness.js'></script>
<script src='../resources/testharnessreport.js'></script>
<script src='resources/shadow-dom.js'></script>
<div id='d1'>
<template data-mode='open' data-expose-as='d1_shadow'>
<div id='d1-d1'>
<template data-mode='open' data-expose-as='d1_d1_shadow'>
<slot name='d1-d1-s1'></slot>
</template>
<slot name='d1-s1' slot='d1-d1-s1'></slot>
</div>
</template>
</div>
<script>
'use strict';
convertTemplatesToShadowRootsWithin(d1);
removeWhiteSpaceOnlyTextNodes(d1);
test(() => {
const d1_s1 = d1_shadow.querySelector('slot');
const d1_d1_s1 = d1_d1_shadow.querySelector('slot');
assert_array_equals(d1_s1.assignedNodes(), []);
assert_array_equals(d1_s1.assignedNodes({'flatten': true}), []);
assert_array_equals(d1_d1_s1.assignedNodes(), [d1_s1]);
assert_array_equals(d1_d1_s1.assignedNodes({'flatten': true}), []);
const d1_d2 = document.createElement('div');
d1_d2.setAttribute('id', 'd1-d2');
d1_s1.appendChild(d1_d2);
assert_array_equals(d1_s1.assignedNodes({'flatten': true}), [d1_d2]);
assert_array_equals(d1_d1_s1.assignedNodes({'flatten': true}), [d1_d2]);
}, "Distribution should be updated after mutating fallback contents");
</script>