diff options
Diffstat (limited to 'devtools/server/tests/chrome/test_webconsole-node-grip.html')
-rw-r--r-- | devtools/server/tests/chrome/test_webconsole-node-grip.html | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/devtools/server/tests/chrome/test_webconsole-node-grip.html b/devtools/server/tests/chrome/test_webconsole-node-grip.html new file mode 100644 index 0000000000..7b0b2d1624 --- /dev/null +++ b/devtools/server/tests/chrome/test_webconsole-node-grip.html @@ -0,0 +1,68 @@ +<!DOCTYPE HTML> +<html> +<head> + <meta charset="utf-8"> + <title>DOMNode Object actor test</title> + <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> + <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css"> + <script type="application/javascript" src="webconsole-helpers.js"></script> + <script> +"use strict"; + +const TEST_URL = "data:text/html,<html><body>Hello</body></html>"; + +window.onload = async function() { + SimpleTest.waitForExplicitFinish(); + + try { + const { + webConsoleFront, + } = await attachURL(TEST_URL); + await testNotInTreeElementNode(webConsoleFront); + await testInTreeElementNode(webConsoleFront); + await testNotInTreeTextNode(webConsoleFront); + await testInTreeTextNode(webConsoleFront); + } catch (e) { + ok(false, `Error thrown: ${e.message}`); + } + SimpleTest.finish(); +}; + +async function testNotInTreeElementNode(webConsoleFront) { + info("Testing isConnected property on a ElementNode not in the DOM tree"); + const {result} = await webConsoleFront.evaluateJSAsync("document.createElement(\"div\")"); + is(result.getGrip().preview.isConnected, false, + "isConnected is false since we only created the element"); +} + +async function testInTreeElementNode(webConsoleFront) { + info("Testing isConnected property on a ElementNode in the DOM tree"); + const {result} = await webConsoleFront.evaluateJSAsync("document.body"); + is(result.getGrip().preview.isConnected, true, + "isConnected is true as expected, since the element was retrieved from the DOM tree"); +} + +async function testNotInTreeTextNode(webConsoleFront) { + info("Testing isConnected property on a TextNode not in the DOM tree"); + const {result} = await webConsoleFront.evaluateJSAsync("document.createTextNode(\"Hello\")"); + is(result.getGrip().preview.isConnected, false, + "isConnected is false since we only created the element"); +} + +async function testInTreeTextNode(webConsoleFront) { + info("Testing isConnected property on a TextNode in the DOM tree"); + const {result} = await webConsoleFront.evaluateJSAsync("document.body.firstChild"); + is(result.getGrip().preview.isConnected, true, + "isConnected is true as expected, since the element was retrieved from the DOM tree"); +} + + </script> +</head> +<body> + <p id="display"></p> + <div id="content" style="display: none"> + </div> + <pre id="test"> + </pre> +</body> +</html> |