Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/fast/dom/shadow/v1-composed-tree-traversal-2.html |
| diff --git a/third_party/WebKit/LayoutTests/fast/dom/shadow/v1-composed-tree-traversal-2.html b/third_party/WebKit/LayoutTests/fast/dom/shadow/v1-composed-tree-traversal-2.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..c3776f654974e203def3d2197aec8825d4534981 |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/fast/dom/shadow/v1-composed-tree-traversal-2.html |
| @@ -0,0 +1,70 @@ |
| +<!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'> |
| + <div id='d1-1'> |
| + <template data-mode='open'> |
| + <div id='d1-1-1'></div> |
| + <slot name='d1-1-s1'></slot> |
| + <slot name='d1-1-s2'></slot> |
| + <div id='d1-1-2'></div> |
| + </template> |
| + <div id='d1-2'></div> |
| + <slot id='d1-s0'></slot> |
| + <slot name='d1-s1' slot='d1-1-s1'></slot> |
| + <slot name='d1-s2'></slot> |
| + <div id='d1-3'></div> |
| + <div id='d1-4' slot='d1-1-s1'></div> |
| + </div> |
| + </template> |
| + <div id='d2' slot='d1-s1'></div> |
| + <div id='d3' slot='d1-s2'></div> |
| + <div id='d4' slot='non-existent'></div> |
| + <div id='d5'></div> |
| +</div><div id='d6'></div> |
| +<script> |
| +'use strict'; |
| +convertTemplatesToShadowRootsWithin(d1); |
| +removeWhiteSpaceOnlyTextNodes(d1); |
| +document.body.offsetLeft; |
| + |
| +const d1_shadow = d1.shadowRoot; |
| +const d1_1 = d1_shadow.querySelector('#d1-1'); |
| +const d1_2 = d1_shadow.querySelector('#d1-2'); |
| +const d1_3 = d1_shadow.querySelector('#d1-3'); |
| +const d1_4 = d1_shadow.querySelector('#d1-4'); |
| +const d1_s0= d1_shadow.querySelector('#d1-s0'); |
| +const d1_s1 = d1_shadow.querySelector('[name=d1-s1]'); |
| +const d1_s2 = d1_shadow.querySelector('[name=d1-s2]'); |
| + |
| +const d1_1_shadow = d1_1.shadowRoot; |
| +const d1_1_1 = d1_1_shadow.querySelector('#d1-1-1'); |
| +const d1_1_2 = d1_1_shadow.querySelector('#d1-1-2'); |
| +const d1_1_s1 = d1_1_shadow.querySelector('[name=d1-1-s1]'); |
| +const d1_1_s2 = d1_1_shadow.querySelector('[name=d1-1-s2]'); |
| + |
| +test(() => { |
| + assert_equals(internals.nextInComposedTree(d1), d1_1); |
|
tkent
2015/12/10 04:23:02
C++ unit test is more suitable.
|
| + assert_equals(internals.nextInComposedTree(d1_1), d1_1_1); |
| + assert_equals(internals.nextInComposedTree(d1_1_1), d2); |
| + assert_equals(internals.nextInComposedTree(d2), d1_4); |
| + assert_equals(internals.nextInComposedTree(d1_4), d1_1_2); |
| + assert_equals(internals.nextInComposedTree(d1_1_2), d6); |
| +}, "composed tree traversal's next in v1"); |
| + |
| +test(() => { |
| + assert_equals(internals.previousInComposedTree(d6), d1_1_2); |
| +}, "composed tree traversal's previous in v1"); |
| + |
| +test(() => { |
| + assert_equals(internals.parentInComposedTree(d1_1_1), d1_1); |
| + assert_equals(internals.parentInComposedTree(d1_1_2), d1_1); |
| + assert_equals(internals.parentInComposedTree(d2), d1_1); |
| + assert_equals(internals.parentInComposedTree(d1_4), d1_1); |
| + |
| + assert_equals(internals.parentInComposedTree(d3), null); |
| + assert_equals(internals.parentInComposedTree(d4), null); |
| +}, "composed tree traversal's parent in v1"); |
| +</script> |