Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<!--
-->
<title>Test for CSSStyleRule::QuerySelectorAll with @scope</title>
<link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"/>
<main id=main></main>
<template id=test_simple>
<style id=s>
@scope (.a) {
.b {
background: green;
}
}
</style>
<div class=a>
<div id=matched class=b>
</div>
</div>
<div id=notMatched class=b>
</div>
</template>
<script>
add_task(async () => {
SimpleTest.registerCurrentTaskCleanupFunction(async () => main.replaceChildren());
main.append(test_simple.content.cloneNode(true));
const scopeRule = s.sheet.cssRules[0];
const scopedStyleRule = scopeRule.cssRules[0];
const result = scopedStyleRule.querySelectorAll(document);
is(result.length, 1, `1 element matches "${scopedStyleRule.selectorText}"`);
is(
result[0].id,
"matched",
`Got expected id for only element matching "${scopedStyleRule.selectorText}"`
);
});
</script>