| <!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 id="s1" name="slot1"></slot> |
| <slot id="s2" name="slot2"></slot> |
| <slot id="s3" name="slot3"></slot> |
| </template> |
| <div id="c1" slot="slot1"></div> |
| <div id="c2" slot="slot1"></div> |
| <div id="c3" slot="slot2"></div> |
| <div id="c4" slot="nonexistent"></div> |
| </div> |
| <script> |
| 'use strict'; |
| |
| let n = createTestTree(host); |
| removeWhiteSpaceOnlyTextNodes(n.host); |
| |
| test(() => { |
| assert_equals(n.host.assignedSlot, null); |
| assert_equals(n.c1.assignedSlot, n.s1); |
| assert_equals(n.c2.assignedSlot, n.s1); |
| assert_equals(n.c3.assignedSlot, n.s2); |
| assert_equals(n.c4.assignedSlot, null); |
| }, 'assignedSlot'); |
| |
| test(() => { |
| assert_array_equals(n.s1.assignedNodes(), [n.c1, n.c2]); |
| assert_array_equals(n.s2.assignedNodes(), [n.c3]); |
| assert_array_equals(n.s3.assignedNodes(), []); |
| }, 'assignedNodes'); |
| |
| test(() => { |
| assert_array_equals(n.s1.assignedNodes({flatten: true}), [n.c1, n.c2]); |
| assert_array_equals(n.s2.assignedNodes({flatten: true}), [n.c3]); |
| assert_array_equals(n.s3.assignedNodes({flatten: true}), []); |
| }, 'assignedNodes({flatten: true})'); |
| </script> |