summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/markup/test/browser_markup_view-original-source.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/inspector/markup/test/browser_markup_view-original-source.js')
-rw-r--r--devtools/client/inspector/markup/test/browser_markup_view-original-source.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/devtools/client/inspector/markup/test/browser_markup_view-original-source.js b/devtools/client/inspector/markup/test/browser_markup_view-original-source.js
new file mode 100644
index 0000000000..db106563bc
--- /dev/null
+++ b/devtools/client/inspector/markup/test/browser_markup_view-original-source.js
@@ -0,0 +1,55 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+const TEST_URI = URL_ROOT + "doc_markup_view-original-source.html";
+
+// Test that event handler links go to the right debugger source when the
+// event handler is source mapped.
+add_task(async function () {
+ const { inspector, tab, toolbox } = await openInspectorForURL(TEST_URI);
+
+ const nodeFront = await getNodeFront("#foo", inspector);
+ const container = getContainerForNodeFront(nodeFront, inspector);
+
+ const evHolder = container.elt.querySelector(
+ ".inspector-badge.interactive[data-event]"
+ );
+
+ evHolder.scrollIntoView();
+ EventUtils.synthesizeMouseAtCenter(
+ evHolder,
+ {},
+ inspector.markup.doc.defaultView
+ );
+
+ const tooltip = inspector.markup.eventDetailsTooltip;
+ await tooltip.once("shown");
+ await tooltip.once("event-tooltip-source-map-ready");
+
+ const debuggerIcon = tooltip.panel.querySelector(
+ ".event-tooltip-debugger-icon"
+ );
+ EventUtils.synthesizeMouse(debuggerIcon, 2, 2, {}, debuggerIcon.ownerGlobal);
+
+ await gDevTools.showToolboxForTab(tab, { toolId: "jsdebugger" });
+ const dbg = toolbox.getPanel("jsdebugger");
+
+ let source;
+ await BrowserTestUtils.waitForCondition(
+ () => {
+ source = dbg._selectors.getSelectedSource(dbg._getState());
+ return !!source;
+ },
+ "loaded source",
+ 100,
+ 20
+ );
+
+ is(
+ source.url,
+ "webpack:///events_original.js",
+ "expected original source to be loaded"
+ );
+});