diff options
Diffstat (limited to 'devtools/server/tests/xpcshell/test_breakpoint-23.js')
-rw-r--r-- | devtools/server/tests/xpcshell/test_breakpoint-23.js | 39 |
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; + }) +); |