summaryrefslogtreecommitdiffstats
path: root/devtools/server/tests/chrome/test_webconsole-node-grip.html
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/server/tests/chrome/test_webconsole-node-grip.html')
-rw-r--r--devtools/server/tests/chrome/test_webconsole-node-grip.html68
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>