summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/test/browser_inspector_use-in-console-conflict.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/inspector/test/browser_inspector_use-in-console-conflict.js')
-rw-r--r--devtools/client/inspector/test/browser_inspector_use-in-console-conflict.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/devtools/client/inspector/test/browser_inspector_use-in-console-conflict.js b/devtools/client/inspector/test/browser_inspector_use-in-console-conflict.js
new file mode 100644
index 0000000000..8c19a56494
--- /dev/null
+++ b/devtools/client/inspector/test/browser_inspector_use-in-console-conflict.js
@@ -0,0 +1,51 @@
+/* Any copyright is dedicated to the Public Domain.
+http://creativecommons.org/publicdomain/zero/1.0/ */
+"use strict";
+
+// Tests "Use in Console" menu item with conflicting binding in the web content.
+
+const TEST_URL = `data:text/html;charset=utf-8,<!DOCTYPE html>
+<p id="console-var">Paragraph for testing console variables</p>
+<script>
+ /* Verify that the conflicting binding on user code doesn't break the
+ * functionality. */
+ var $0 = "user-defined variable";
+</script>`;
+
+add_task(async function () {
+ // Disable eager evaluation to avoid intermittent failures due to pending
+ // requests to evaluateJSAsync.
+ await pushPref("devtools.webconsole.input.eagerEvaluation", false);
+
+ const { inspector, toolbox } = await openInspectorForURL(TEST_URL);
+
+ info("Testing 'Use in Console' menu item.");
+
+ await selectNode("#console-var", inspector);
+ const container = await getContainerForSelector("#console-var", inspector);
+ const allMenuItems = openContextMenuAndGetAllItems(inspector, {
+ target: container.tagLine,
+ });
+ const menuItem = allMenuItems.find(i => i.id === "node-menu-useinconsole");
+ const onConsoleVarReady = inspector.once("console-var-ready");
+
+ menuItem.click();
+
+ await onConsoleVarReady;
+
+ const hud = toolbox.getPanel("webconsole").hud;
+
+ const getConsoleResults = () => hud.ui.outputNode.querySelectorAll(".result");
+
+ is(hud.getInputValue(), "temp0", "first console variable is named temp0");
+ hud.ui.wrapper.dispatchEvaluateExpression();
+
+ await waitUntil(() => getConsoleResults().length === 1);
+ const result = getConsoleResults()[0];
+ ok(
+ result.textContent.includes('<p id="console-var">'),
+ "variable temp0 references correct node"
+ );
+
+ hud.ui.wrapper.dispatchClearHistory();
+});