diff options
Diffstat (limited to 'devtools/client/debugger/test/mochitest/browser_dbg-sourcemaps2.js')
-rw-r--r-- | devtools/client/debugger/test/mochitest/browser_dbg-sourcemaps2.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/devtools/client/debugger/test/mochitest/browser_dbg-sourcemaps2.js b/devtools/client/debugger/test/mochitest/browser_dbg-sourcemaps2.js new file mode 100644 index 0000000000..e1e05ba11a --- /dev/null +++ b/devtools/client/debugger/test/mochitest/browser_dbg-sourcemaps2.js @@ -0,0 +1,51 @@ +/* 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 loading sourcemapped sources, setting breakpoints, and +// stepping in them. + +"use strict"; + +requestLongerTimeout(2); + +// This source map does not have source contents, so it's fetched separately +add_task(async function () { + // NOTE: the CORS call makes the test run times inconsistent + const dbg = await initDebugger( + "doc-sourcemaps2.html", + "main.js", + "main.min.js" + ); + const { + selectors: { getBreakpoint, getBreakpointCount }, + } = dbg; + + ok(true, "Original sources exist"); + const mainSrc = findSource(dbg, "main.js"); + + await selectSource(dbg, mainSrc); + + // Test that breakpoint is not off by a line. + await addBreakpoint(dbg, mainSrc, 4, 2); + is(getBreakpointCount(), 1, "One breakpoint exists"); + ok( + getBreakpoint(createLocation({ source: mainSrc, line: 4, column: 2 })), + "Breakpoint has correct line" + ); + + await assertBreakpoint(dbg, 4); + invokeInTab("logMessage"); + + await waitForPaused(dbg); + assertPausedAtSourceAndLine(dbg, mainSrc.id, 4); + + // Tests the existence of the sourcemap link in the original source. + ok(findElement(dbg, "sourceMapLink"), "Sourcemap link in original source"); + await selectSource(dbg, "main.min.js"); + + ok( + !findElement(dbg, "sourceMapLink"), + "No Sourcemap link exists in generated source" + ); +}); |