| <!DOCTYPE html> | |
| <title>CSS Values and Units Test: sibling-index() and sibling-count() invalid in media queries</title> | |
| <link rel="help" href="https://drafts.csswg.org/css-values-5/#tree-counting"> | |
| <link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#width"> | |
| <link rel="help" href="https://github.com/w3c/csswg-drafts/issues/10982"> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <style id="test_sheet"> | |
| #target { | |
| background-color: green; | |
| } | |
| @media (width > CALC(0px * sibling-index())) { | |
| #target { background-color: red; } | |
| } | |
| @media (width > CALC(0px * sibling-count())) { | |
| #target { background-color: red; } | |
| } | |
| </style> | |
| <div id="target"></div> | |
| <script> | |
| test(() => { | |
| assert_equals(getComputedStyle(target).backgroundColor, "rgb(0, 128, 0)"); | |
| }, "sibling-index() and sibling-count() are not valid in @media queries"); | |
| test(() => { | |
| let rules = test_sheet.sheet.cssRules; | |
| assert_equals(rules.length, 3); | |
| assert_equals(rules[1].media.mediaText, "(width > CALC(0px * sibling-index()))"); | |
| assert_equals(rules[2].media.mediaText, "(width > CALC(0px * sibling-count()))"); | |
| }, "@media queries with sibling-index() and sibling-count() as general-enclosed"); | |
| </script> |