crbug.com/337616: test for querySelectorAll with ::shadow and /deep/ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS document.querySelectorAll("#foo-host::shadow span").length is 3 PASS document.querySelectorAll("#foo-host::shadow span")[0].id is "not-top" PASS document.querySelectorAll("#foo-host::shadow span")[1].id is "top" PASS document.querySelectorAll("#foo-host::shadow span")[2].id is "inner-host" PASS document.querySelectorAll("#foo-host /deep/ span").length is 5 PASS document.querySelectorAll("#foo-host /deep/ span")[0].id is "not-top" PASS document.querySelectorAll("#foo-host /deep/ span")[1].id is "top" PASS document.querySelectorAll("#foo-host /deep/ span")[2].id is "nested" PASS document.querySelectorAll("#foo-host /deep/ span")[3].id is "inner-host" PASS document.querySelectorAll("#foo-host /deep/ span")[4].id is "outer-host" PASS fooShadowRoot.querySelectorAll("*::shadow span").length is 1 PASS fooShadowRoot.querySelectorAll("*::shadow span")[0].id is "nested" PASS fooShadowRoot.querySelectorAll("* /deep/ span").length is 3 PASS fooShadowRoot.querySelectorAll("* /deep/ span")[0].id is "not-top" PASS fooShadowRoot.querySelectorAll("* /deep/ span")[1].id is "nested" PASS fooShadowRoot.querySelectorAll("* /deep/ span")[2].id is "inner-host" PASS fooShadowRoot.querySelectorAll("#foo-host /deep/ span").length is 0 PASS fooShadowRoot.querySelectorAll(":host(div#foo-host)::shadow span").length is 3 PASS fooShadowRoot.querySelectorAll(":host(div#foo-host)::shadow span")[0].id is "not-top" PASS fooShadowRoot.querySelectorAll(":host(div#foo-host)::shadow span")[1].id is "top" PASS fooShadowRoot.querySelectorAll(":host(div#foo-host)::shadow span")[2].id is "inner-host" PASS fooShadowRoot.querySelectorAll(":host-context(body)::shadow span").length is 3 PASS fooShadowRoot.querySelectorAll(":host-context(body)::shadow span")[0].id is "not-top" PASS fooShadowRoot.querySelectorAll(":host-context(body)::shadow span")[1].id is "top" PASS fooShadowRoot.querySelectorAll(":host-context(body)::shadow span")[2].id is "inner-host" PASS barHost.querySelectorAll("#bar-host::shadow span").length is 1 PASS barHost.querySelectorAll("#bar-host::shadow span")[0].id is "nested" PASS barHost.querySelectorAll(":host :scope span").length is 1 PASS barHost.querySelectorAll(":host :scope span")[0].id is "inner-host" PASS barHost.querySelectorAll(":host /deep/ #bar-host span").length is 1 PASS barHost.querySelectorAll(":host /deep/ #bar-host span")[0].id is "inner-host" PASS barShadowRoot.querySelectorAll("*::shadow span").length is 0 PASS barShadowRoot.querySelectorAll("* /deep/ span").length is 0 PASS barShadowRoot.querySelectorAll(":host(div#bar-host)::shadow span").length is 1 PASS barShadowRoot.querySelectorAll(":host(div#bar-host)::shadow span")[0].id is "nested" PASS barShadowRoot.querySelectorAll(":host(div#bar-host) /deep/ span").length is 1 PASS barShadowRoot.querySelectorAll(":host(div#bar-host) /deep/ span")[0].id is "nested" PASS barShadowRoot.querySelectorAll(":host-context(div#foo-host)::shadow span").length is 1 PASS barShadowRoot.querySelectorAll(":host-context(div#foo-host)::shadow span")[0].id is "nested" PASS barShadowRoot.querySelectorAll(":host-context(div#foo-host) /deep/ span").length is 1 PASS barShadowRoot.querySelectorAll(":host-context(div#foo-host) /deep/ span")[0].id is "nested" PASS fooHost.querySelectorAll("::shadow span").length is 3 PASS fooHost.querySelectorAll("::shadow span")[0].id is "not-top" PASS fooHost.querySelectorAll("::shadow span")[1].id is "top" PASS fooHost.querySelectorAll("::shadow span")[2].id is "inner-host" PASS successfullyParsed is true TEST COMPLETE