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