<!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:emilio@crisal.io">
<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>
