summaryrefslogtreecommitdiffstats
path: root/devtools/client/webconsole/test/browser/browser_jsterm_evaluation_notification_original_variable_mapping_warning.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/webconsole/test/browser/browser_jsterm_evaluation_notification_original_variable_mapping_warning.js')
-rw-r--r--devtools/client/webconsole/test/browser/browser_jsterm_evaluation_notification_original_variable_mapping_warning.js75
1 files changed, 75 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser/browser_jsterm_evaluation_notification_original_variable_mapping_warning.js b/devtools/client/webconsole/test/browser/browser_jsterm_evaluation_notification_original_variable_mapping_warning.js
new file mode 100644
index 0000000000..21af7c2efd
--- /dev/null
+++ b/devtools/client/webconsole/test/browser/browser_jsterm_evaluation_notification_original_variable_mapping_warning.js
@@ -0,0 +1,75 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+// Tests that the evaluation warning notification shows in the console when the debugger
+// is paused in an non-pretty printed original file with original variable mapping disabled.
+
+"use strict";
+
+const l10n = new LocalizationHelper(
+ "devtools/client/locales/webconsole.properties"
+);
+const TEST_URI =
+ "https://example.com/browser/devtools/client/webconsole/test/browser/test-autocomplete-mapped.html";
+
+add_task(async function () {
+ registerCleanupFunction(() => {
+ Services.prefs.clearUserPref("devtools.debugger.map-scopes-enabled");
+ });
+ const hud = await openNewTabAndConsole(TEST_URI);
+ const toolbox = gDevTools.getToolboxForTab(gBrowser.selectedTab);
+
+ info("Opening Debugger with original variable mapping disabled");
+ await openDebugger();
+ const dbg = createDebuggerContext(toolbox);
+
+ info("Waiting for pause");
+ // This calls firstCall() on the content page and waits for pause(without waiting for loaded scopes). (firstCall
+ // has a debugger statement)
+ await pauseDebugger(dbg, { shouldWaitForLoadScopes: false });
+
+ info("Assert the warning notification in the split console");
+ await toolbox.openSplitConsole();
+
+ // Wait for the notification to be displayed in the console
+ await waitUntil(() => findEvaluationNotificationMessage(hud));
+
+ const notificationMessage = l10n.getStr(
+ "evaluationNotifcation.noOriginalVariableMapping.msg"
+ );
+
+ is(
+ findEvaluationNotificationMessage(hud),
+ notificationMessage,
+ "The Original variable mapping warning is displayed"
+ );
+
+ info("Assert the warning notification in the full console panel");
+ await toolbox.selectTool("webconsole");
+ is(
+ findEvaluationNotificationMessage(hud),
+ notificationMessage,
+ "The Original variable mapping warning is displayed"
+ );
+
+ await toolbox.selectTool("jsdebugger");
+
+ const loadedScopes = waitForLoadedScopes(dbg);
+ dbg.actions.toggleMapScopes();
+ await loadedScopes;
+
+ await toolbox.selectTool("webconsole");
+
+ ok(
+ !findEvaluationNotificationMessage(hud),
+ "The Original variable mapping warning is no longer displayed"
+ );
+
+ await resume(dbg);
+});
+
+function findEvaluationNotificationMessage(hud) {
+ return hud.ui.outputNode.querySelector(".evaluation-notification__text")
+ ?.innerText;
+}