| <!DOCTYPE html> |
| <title>CSS Values and Units Test: Tree-scoped sibling-index()</title> |
| <link rel="help" href="https://drafts.csswg.org/css-values-5/#tree-counting"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <style> |
| #host1::part(--p) { |
| z-index: sibling-index(); |
| order: sibling-count(); |
| } |
| </style> |
| <div id="host1"> |
| <template shadowrootmode="open"> |
| <div></div> |
| <div></div> |
| <div id="t1" part="--p"></div> |
| </template> |
| </div> |
| <script> |
| test(() => { |
| const style = getComputedStyle(host1.shadowRoot.querySelector("#t1")); |
| assert_equals(style.zIndex, "1", "z-index should be 1"); |
| assert_equals(style.order, "1", "order should be 1"); |
| }, "sibling-index() and sibling-count() evaluates to 1 from outer tree with ::part"); |
| </script> |
| |
| <div> |
| <div></div> |
| <div></div> |
| <div id="t2"> |
| <template shadowrootmode="open"> |
| <style> |
| :host { |
| z-index: sibling-index(); |
| order: sibling-count(); |
| } |
| </style> |
| </template> |
| </div> |
| <div></div> |
| <div></div> |
| </div> |
| <script> |
| test(() => { |
| const style = getComputedStyle(t2); |
| assert_equals(style.zIndex, "3", ":host is the third sibling"); |
| assert_equals(style.order, "5", ":host total sibling count is 5"); |
| }, "sibling-index() and sibling-count() evaluate as normal from inner tree"); |
| </script> |