summaryrefslogtreecommitdiffstats
path: root/devtools/client/webconsole/test/browser/browser_jsterm_helper_dollar.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/webconsole/test/browser/browser_jsterm_helper_dollar.js')
-rw-r--r--devtools/client/webconsole/test/browser/browser_jsterm_helper_dollar.js74
1 files changed, 74 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser/browser_jsterm_helper_dollar.js b/devtools/client/webconsole/test/browser/browser_jsterm_helper_dollar.js
new file mode 100644
index 0000000000..0e458eebbb
--- /dev/null
+++ b/devtools/client/webconsole/test/browser/browser_jsterm_helper_dollar.js
@@ -0,0 +1,74 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+const TEST_URI = `data:text/html,<!DOCTYPE html>
+<main>
+ <ul>
+ <li>First</li>
+ <li>Second</li>
+ </ul>
+ <ul id="myList">
+ <li id="myListItem1" class="inMyList">First</li>
+ <li id="myListItem2" class="inMyList">Second</li>
+ </ul>
+ <aside>Sidebar</aside>
+</main>
+`;
+
+add_task(async function () {
+ const hud = await openNewTabAndConsole(TEST_URI);
+
+ let message = await executeAndWaitForResultMessage(
+ hud,
+ "$('main')",
+ "<main>"
+ );
+ ok(message, "`$('main')` worked");
+
+ message = await executeAndWaitForResultMessage(
+ hud,
+ "$('main > ul > li')",
+ "<li>"
+ );
+ ok(message, "`$('main > ul > li')` worked");
+
+ message = await executeAndWaitForResultMessage(
+ hud,
+ "$('main > ul > li').tagName",
+ "LI"
+ );
+ ok(message, "`$` result can be used right away");
+
+ message = await executeAndWaitForResultMessage(hud, "$('div')", "null");
+ ok(message, "`$('div')` does return null");
+
+ message = await executeAndWaitForErrorMessage(
+ hud,
+ "$(':foo')",
+ "':foo' is not a valid selector"
+ );
+ ok(message, "`$(':foo')` returns an error message");
+
+ message = await executeAndWaitForResultMessage(
+ hud,
+ "$('li', document.querySelector('ul#myList'))",
+ '<li id="myListItem1" class="inMyList">'
+ );
+ ok(message, "`$('li', document.querySelector('ul#myList'))` worked");
+
+ message = await executeAndWaitForErrorMessage(
+ hud,
+ "$('li', $(':foo'))",
+ "':foo' is not a valid selector"
+ );
+ ok(message, "`$('li', $(':foo'))` returns an error message");
+
+ message = await executeAndWaitForResultMessage(
+ hud,
+ "$('li', $('div'))",
+ "<li>"
+ );
+ ok(message, "`$('li', $('div'))` worked");
+});