-
Butkovits Atila authored
Backed out 2 changesets (bug 1908095) for causing failures at browser_dbg-features-breakpoints.js. a=backout Backed out changeset 21bf8880f772 (bug 1908095) Backed out changeset 85060db8ce99 (bug 1908095)
Butkovits Atila authoredBacked out 2 changesets (bug 1908095) for causing failures at browser_dbg-features-breakpoints.js. a=backout Backed out changeset 21bf8880f772 (bug 1908095) Backed out changeset 85060db8ce99 (bug 1908095)
browser_dbg-features-breakable-positions.js 9.41 KiB
/* 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/>. */
"use strict";
const testServer = createVersionizedHttpTestServer(
"examples/sourcemaps-reload-uncompressed"
);
const TEST_URL = testServer.urlFor("index.html");
// getTokenFromPosition pauses 0.5s for each line,
// so this test is quite slow to complete
requestLongerTimeout(4);
/**
* Cover the breakpoints positions/columns:
* - assert that the UI displayed markers in CodeMirror next to each breakable columns,
* - assert the data in the reducers about the breakable columns.
*
* Note that it doesn't assert that the breakpoint can be hit.
* It only verify data integrity and the UI.
*/
add_task(async function testBreakableLinesOverReloads() {
const dbg = await initDebuggerWithAbsoluteURL(
TEST_URL,
"index.html",
"script.js",
"original.js"
);
info("Assert breakable lines of the first html page load");
await assertBreakablePositions(dbg, "index.html", 78, [
{ line: 16, columns: [6, 14] },
{ line: 17, columns: [] },
{ line: 21, columns: [12, 20, 48] },
{ line: 24, columns: [12, 20] },
{ line: 25, columns: [] },
{ line: 30, columns: [] },
{ line: 36, columns: [] },
]);
info("Pretty print first html page load and assert breakable lines");
await prettyPrint(dbg);
await assertBreakablePositions(dbg, "index.html:formatted", 87, [
{ line: 16, columns: [0, 8] },
{ line: 22, columns: [0, 8, 35] },
{ line: 27, columns: [0, 8] },
{ line: 28, columns: [] },
{ line: 36, columns: [] },
]);
await closeTab(dbg, "index.html:formatted");
info("Assert breakable lines of the first original source file, original.js");
// The length of original.js is longer than the test file
// because the sourcemap replaces the content of the original file
// and appends a few lines with a "WEBPACK FOOTER" comment
// All the appended lines are empty lines or comments, so none of them are breakable.
await assertBreakablePositions(dbg, "original.js", 15, [
{ line: 1, columns: [] },
{ line: 2, columns: [2, 9, 32] },
{ line: 3, columns: [] },
{ line: 5, columns: [] },
{ line: 8, columns: [2, 8] },
{ line: 9, columns: [2, 10] },
{ line: 10, columns: [] },
]);
info("Assert breakable lines of the simple first load of script.js");
await assertBreakablePositions(dbg, "script.js", 9, [