summaryrefslogtreecommitdiffstats
path: root/devtools/client/framework/test/browser_source_map-absolute.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/framework/test/browser_source_map-absolute.js')
-rw-r--r--devtools/client/framework/test/browser_source_map-absolute.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/devtools/client/framework/test/browser_source_map-absolute.js b/devtools/client/framework/test/browser_source_map-absolute.js
new file mode 100644
index 0000000000..206cbde944
--- /dev/null
+++ b/devtools/client/framework/test/browser_source_map-absolute.js
@@ -0,0 +1,36 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Test that an absolute sourceRoot works.
+
+"use strict";
+
+// There are shutdown issues for which multiple rejections are left uncaught.
+// See bug 1018184 for resolving these issues.
+const { PromiseTestUtils } = ChromeUtils.importESModule(
+ "resource://testing-common/PromiseTestUtils.sys.mjs"
+);
+PromiseTestUtils.allowMatchingRejectionsGlobally(/this\.worker is null/);
+
+// Empty page
+const PAGE_URL = `${URL_ROOT_SSL}doc_empty-tab-01.html`;
+const JS_URL = `${URL_ROOT_SSL}code_binary_search_absolute.js`;
+const ORIGINAL_URL = `${URL_ROOT_SSL}code_binary_search.coffee`;
+
+add_task(async function () {
+ const toolbox = await openNewTabAndToolbox(PAGE_URL, "jsdebugger");
+ const service = toolbox.sourceMapURLService;
+
+ // Inject JS script
+ const sourceSeen = waitForSourceLoad(toolbox, JS_URL);
+ await createScript(JS_URL);
+ await sourceSeen;
+
+ info(`checking original location for ${JS_URL}:6`);
+ const newLoc = await new Promise(r =>
+ service.subscribeByURL(JS_URL, 6, 4, r)
+ );
+
+ is(newLoc.url, ORIGINAL_URL, "check mapped URL");
+ is(newLoc.line, 4, "check mapped line number");
+});