diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /devtools/client/inspector/test/browser_inspector_use-in-console-conflict.js | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | devtools/client/inspector/test/browser_inspector_use-in-console-conflict.js | 51 |
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(); +}); |