From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../browser_dbg_breakpoints-contextmenu-add.js | 84 ++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu-add.js (limited to 'devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu-add.js') diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu-add.js b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu-add.js new file mode 100644 index 000000000..2b50d53aa --- /dev/null +++ b/devtools/client/debugger/test/mochitest/browser_dbg_breakpoints-contextmenu-add.js @@ -0,0 +1,84 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ft=javascript ts=2 et sw=2 tw=80: */ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Test adding breakpoints from the source editor context menu + */ + +const TAB_URL = EXAMPLE_URL + "doc_script-switching-01.html"; + +function test() { + let options = { + source: EXAMPLE_URL + "code_script-switching-01.js", + line: 1 + }; + initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => { + const gTab = aTab; + const gPanel = aPanel; + const gDebugger = gPanel.panelWin; + const gEditor = gDebugger.DebuggerView.editor; + const gSources = gDebugger.DebuggerView.Sources; + const gContextMenu = gDebugger.document.getElementById("sourceEditorContextMenu"); + const queries = gDebugger.require("./content/queries"); + const actions = bindActionCreators(gPanel); + const getState = gDebugger.DebuggerController.getState; + + Task.spawn(function* () { + yield waitForSourceAndCaretAndScopes(gPanel, "-02.js", 1); + + is(gDebugger.gThreadClient.state, "paused", + "Should only be getting stack frames while paused."); + is(queries.getSourceCount(getState()), 2, + "Found the expected number of sources."); + isnot(gEditor.getText().indexOf("debugger"), -1, + "The correct source was loaded initially."); + is(gSources.selectedValue, gSources.values[1], + "The correct source is selected."); + + ok(gContextMenu, + "The source editor's context menupopup is available."); + + gEditor.focus(); + gEditor.setSelection({ line: 1, ch: 0 }, { line: 1, ch: 10 }); + + gContextMenu.openPopup(gEditor.container, "overlap", 0, 0, true, false); + gEditor.emit("gutterClick", 6, 2); + + yield once(gContextMenu, "popupshown"); + is(queries.getBreakpoints(getState()).length, 0, "no breakpoints added"); + + let cmd = gContextMenu.querySelector("menuitem[command=addBreakpointCommand]"); + EventUtils.synthesizeMouseAtCenter(cmd, {}, gDebugger); + yield waitForDispatch(gPanel, gDebugger.constants.ADD_BREAKPOINT); + + is(queries.getBreakpoints(getState()).length, 1, + "1 breakpoint correctly added"); + ok(queries.getBreakpoint(getState(), + { actor: gSources.values[1], line: 7 }), + "Breakpoint on line 7 exists"); + + gContextMenu.openPopup(gEditor.container, "overlap", 0, 0, true, false); + gEditor.emit("gutterClick", 7, 2); + + yield once(gContextMenu, "popupshown"); + is(queries.getBreakpoints(getState()).length, 1, + "1 breakpoint correctly added"); + + cmd = gContextMenu.querySelector("menuitem[command=addConditionalBreakpointCommand]"); + EventUtils.synthesizeMouseAtCenter(cmd, {}, gDebugger); + yield waitForDispatch(gPanel, gDebugger.constants.ADD_BREAKPOINT); + + is(queries.getBreakpoints(getState()).length, 2, + "2 breakpoints correctly added"); + ok(queries.getBreakpoint(getState(), + { actor: gSources.values[1], line: 8 }), + "Breakpoint on line 8 exists"); + + resumeDebuggerThenCloseAndFinish(gPanel); + }); + + callInTab(gTab, "firstCall"); + }); +} -- cgit v1.2.3