<!doctype html>
<title>CSS Test: ::slotted() should not match via the matches() API, since it's in the wrong scope</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:[email protected]">
<link rel="help" href="https://drafts.csswg.org/css-scoping/#slotted-pseudo">
<link rel="help" href="https://dom.spec.whatwg.org/#dom-element-matches">
<link rel="help" href="https://bugzil.la/1544242">
<div id="host"><div id="slotted"></div></div>
<script>
test(function() {
let slotted = document.getElementById("slotted");
host.attachShadow({ mode: "open" }).innerHTML = `<slot></slot>`;
assert_false(slotted.matches("::slotted(div)"), "Shouldn't match ::slotted from the outer tree")
}, "::slotted() doesn't reveal the presence of shadow DOM via matches()");
</script>