| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../http/tests/inspector/resources/inspector-test.js"></script> |
| <script> |
| // FIXME: LayoutTest with <video> ends before running any onload handler. |
| if (window.testRunner) |
| testRunner.waitUntilDone(); |
| |
| function test() |
| { |
| let documentNode = null; |
| |
| let suite = InspectorTest.createAsyncSuite("DOMNode.ShadowAndNonShadowChildren"); |
| |
| suite.addTestCase({ |
| name: "DOMNode.ShadowAndNonShadowChildren.VideoWithSource", |
| description: "Check for all children of a video with a source child.", |
| test(resolve, reject) { |
| documentNode.querySelector("#test-video", (nodeId) => { |
| let domNode = WI.domManager.nodeForId(nodeId); |
| InspectorTest.expectEqual(domNode.nodeName(), "VIDEO", "DOMNode should be a `video` element."); |
| InspectorTest.expectThat(domNode.hasChildNodes(), "DOMNode should have child nodes."); |
| InspectorTest.expectThat(domNode.childNodeCount, "DOMNode should indicate it has 2 child nodes."); |
| InspectorTest.expectNull(domNode.children, "DOMNode children should be null."); |
| domNode.getChildNodes((children) => { |
| InspectorTest.assert(children, domNode.children); |
| InspectorTest.expectEqual(domNode.children.length, 2, "DOMNode should have 2 children."); |
| InspectorTest.expectThat(domNode.children[0].isShadowRoot(), "DOMNode 1st child should be a ShadowRoot."); |
| InspectorTest.expectEqual(domNode.children[1].nodeName(), "SOURCE", "DOMNode 2nd child should be a `source` element."); |
| resolve(); |
| }); |
| }); |
| } |
| }); |
| |
| WI.domManager.requestDocument((root) => { |
| documentNode = root; |
| suite.runTestCasesAndFinish(); |
| }); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Test for DOMNode.children of an element with a shadow and non-shadow children.</p> |
| <video id="test-video" controls><source src="does-not-exist.mp4" type="video/mp4"></video> |
| </body> |
| </html> |