blob: df2fad8c61d79b409c4134d5f13586a047a08d5c [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
<script>
function test()
{
let documentNode;
let suite = InspectorTest.createAsyncSuite("DOMNode.shadowRootType");
suite.addTestCase({
name: "ShadowRootType.UserAgent",
test(resolve, reject) {
documentNode.querySelector("#host-user-agent", (nodeId) => {
let domNode = WI.domManager.nodeForId(nodeId);
InspectorTest.assert(domNode, "Got DOMNode for #host-user-agent");
InspectorTest.expectThat(domNode.shadowRoots().length === 1, "DOMNode has a single shadow root.");
InspectorTest.expectThat(domNode.shadowRoots()[0].shadowRootType() === WI.DOMNode.ShadowRootType.UserAgent, "DOMNode has UserAgent shadow root type.");
InspectorTest.expectThat(domNode.shadowRoots()[0].isInUserAgentShadowTree(), "DOMNode is in a UserAgent shadow tree.");
resolve();
});
}
});
suite.addTestCase({
name: "ShadowRootType.Closed",
test(resolve, reject) {
documentNode.querySelector("#host-closed", (nodeId) => {
let domNode = WI.domManager.nodeForId(nodeId);
InspectorTest.assert(domNode, "Got DOMNode for #host-closed");
InspectorTest.expectThat(domNode.shadowRoots().length === 1, "DOMNode has a single shadow root.");
InspectorTest.expectThat(domNode.shadowRoots()[0].shadowRootType() === WI.DOMNode.ShadowRootType.Closed, "DOMNode has Closed shadow root type.");
InspectorTest.expectThat(!domNode.shadowRoots()[0].isInUserAgentShadowTree(), "DOMNode is not in a UserAgent shadow tree.");
resolve();
});
}
});
suite.addTestCase({
name: "ShadowRootType.Open",
test(resolve, reject) {
documentNode.querySelector("#host-open", (nodeId) => {
let domNode = WI.domManager.nodeForId(nodeId);
InspectorTest.assert(domNode, "Got DOMNode for #host-open");
InspectorTest.expectThat(domNode.shadowRoots().length === 1, "DOMNode has a single shadow root.");
InspectorTest.expectThat(domNode.shadowRoots()[0].shadowRootType() === WI.DOMNode.ShadowRootType.Open, "DOMNode has Open shadow root type.");
InspectorTest.expectThat(!domNode.shadowRoots()[0].isInUserAgentShadowTree(), "DOMNode is not in a UserAgent shadow tree.");
resolve();
});
}
});
suite.addTestCase({
name: "NoShadowRootType",
test(resolve, reject) {
documentNode.querySelector("#no-host", (nodeId) => {
let domNode = WI.domManager.nodeForId(nodeId);
InspectorTest.assert(domNode, "Got DOMNode for #no-host");
InspectorTest.expectThat(domNode.shadowRoots().length === 0, "DOMNode has no shadow roots.");
InspectorTest.expectThat(domNode.shadowRootType() === undefined, "DOMNode has no shadow root type.");
resolve();
});
}
});
WI.domManager.requestDocument((node) => {
documentNode = node;
suite.runTestCasesAndFinish();
});
}
</script>
</head>
<body onload="runTest()">
<p>Test for DOMNode.shadowRootType.</p>
<div style="display: none">
<input id="host-user-agent" controls>
<div id="host-closed"></div>
<div id="host-open"></div>
<div id="no-host"></div>
</div>
<script>
(function() {
var shadowRootClosed = document.getElementById("host-closed").attachShadow({mode: "closed"});
shadowRootClosed.appendChild(document.createTextNode("closed"));
var shadowRootOpen = document.getElementById("host-open").attachShadow({mode: "open"});
shadowRootOpen.appendChild(document.createTextNode("open"));
})();
</script>
</body>
</html>