summaryrefslogtreecommitdiffstats
path: root/devtools/server/tests/xpcshell/test_breakpoint-23.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/server/tests/xpcshell/test_breakpoint-23.js')
-rw-r--r--devtools/server/tests/xpcshell/test_breakpoint-23.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/devtools/server/tests/xpcshell/test_breakpoint-23.js b/devtools/server/tests/xpcshell/test_breakpoint-23.js
new file mode 100644
index 0000000000..19023c5bb6
--- /dev/null
+++ b/devtools/server/tests/xpcshell/test_breakpoint-23.js
@@ -0,0 +1,39 @@
+/* eslint-disable max-nested-callbacks */
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+/**
+ * Bug 1552453 - Verify that breakpoints are hit for evaluated
+ * scripts that contain a source url pragma.
+ */
+add_task(
+ threadFrontTest(async ({ threadFront, targetFront }) => {
+ await threadFront.setBreakpoint(
+ { sourceUrl: "http://example.com/code.js", line: 2, column: 1 },
+ {}
+ );
+
+ info("Create a new script with the displayUrl code.js");
+ const consoleFront = await targetFront.getFront("console");
+ let onEvaluationResult = consoleFront.once("evaluationResult");
+ const onNewSource = waitForEvent(threadFront, "newSource");
+ consoleFront.evaluateJSAsync(
+ "function f() {\n return 5; \n}\n//# sourceURL=http://example.com/code.js"
+ );
+ await onEvaluationResult;
+ const sourcePacket = await onNewSource;
+
+ equal(sourcePacket.source.url, "http://example.com/code.js");
+
+ info("Evaluate f() and pause at line 2");
+ onEvaluationResult = consoleFront.once("evaluationResult");
+ consoleFront.evaluateJSAsync("f()");
+ const pausedPacket = await waitForPause(threadFront);
+ equal(pausedPacket.why.type, "breakpoint");
+ equal(pausedPacket.frame.where.line, 2);
+ resume(threadFront);
+ await onEvaluationResult;
+ })
+);