| OLD | NEW |
| (Empty) | |
| 1 <!DOCTYPE html> |
| 2 <script src="../resources/testharness.js"></script> |
| 3 <script src="../resources/testharnessreport.js"></script> |
| 4 <script src="resources/shadow-dom.js"></script> |
| 5 |
| 6 <div id="root0"> |
| 7 <div id="host1"> |
| 8 <template id="root1" data-mode="open"> |
| 9 <div id="host2"> |
| 10 <template id="root2" data-mode="open"> |
| 11 <div id="parent"> |
| 12 <div id="child"></div> |
| 13 </div> |
| 14 </template> |
| 15 </div> |
| 16 </template> |
| 17 </div> |
| 18 </div> |
| 19 |
| 20 <script> |
| 21 test(() => { |
| 22 let n = createTestTree(root0); |
| 23 document.body.appendChild(n.host1); |
| 24 assert_equals(n.host1.getRootNode(), document); |
| 25 assert_equals(n.root1.getRootNode(), n.root1); |
| 26 assert_equals(n.host2.getRootNode(), n.root1); |
| 27 assert_equals(n.root2.getRootNode(), n.root2); |
| 28 assert_equals(n.parent.getRootNode(), n.root2); |
| 29 assert_equals(n.child.getRootNode(), n.root2); |
| 30 |
| 31 assert_equals(n.host1.getRootNode({ composed: true }), document); |
| 32 assert_equals(n.root1.getRootNode({ composed: true }), document); |
| 33 assert_equals(n.host2.getRootNode({ composed: true }), document); |
| 34 assert_equals(n.root2.getRootNode({ composed: true }), document); |
| 35 assert_equals(n.parent.getRootNode({ composed: true }), document); |
| 36 assert_equals(n.child.getRootNode({ composed: true }), document); |
| 37 n.host1.remove(); |
| 38 }, 'getRootNode(...) in a connected tree.'); |
| 39 |
| 40 test(() => { |
| 41 let n = createTestTree(root0); |
| 42 assert_equals(n.root0.getRootNode(), n.root0); |
| 43 assert_equals(n.host1.getRootNode(), n.root0); |
| 44 assert_equals(n.root1.getRootNode(), n.root1); |
| 45 assert_equals(n.host2.getRootNode(), n.root1); |
| 46 assert_equals(n.root2.getRootNode(), n.root2); |
| 47 assert_equals(n.parent.getRootNode(), n.root2); |
| 48 assert_equals(n.child.getRootNode(), n.root2); |
| 49 |
| 50 assert_equals(n.root0.getRootNode({ composed: true }), n.root0); |
| 51 assert_equals(n.host1.getRootNode({ composed: true }), n.root0); |
| 52 assert_equals(n.root1.getRootNode({ composed: true }), n.root0); |
| 53 assert_equals(n.host2.getRootNode({ composed: true }), n.root0); |
| 54 assert_equals(n.root2.getRootNode({ composed: true }), n.root0); |
| 55 assert_equals(n.parent.getRootNode({ composed: true }), n.root0); |
| 56 assert_equals(n.child.getRootNode({ composed: true }), n.root0); |
| 57 }, 'getRootNode(...) in a disconnected tree.'); |
| 58 |
| 59 test(() => { |
| 60 let n = createTestTree(root0); |
| 61 assert_equals(n.host2.getRootNode({ composed: false }), n.root1); |
| 62 }, 'getRootNode({ composed: false }) should be the default behavior.'); |
| 63 </script> |
| OLD | NEW |