diff options
Diffstat (limited to 'devtools/client/debugger/test/mochitest/browser_dbg_location-changes-03-new.js')
-rw-r--r-- | devtools/client/debugger/test/mochitest/browser_dbg_location-changes-03-new.js | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-03-new.js b/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-03-new.js new file mode 100644 index 000000000..878c7be81 --- /dev/null +++ b/devtools/client/debugger/test/mochitest/browser_dbg_location-changes-03-new.js @@ -0,0 +1,59 @@ +/* -*- 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/ */ + +/** + * Make sure that changing the tab location URL to a page with other sources works. + */ + +const TAB_URL_1 = EXAMPLE_URL + "doc_recursion-stack.html"; +const TAB_URL_2 = EXAMPLE_URL + "doc_iframes.html"; + +function test() { + let options = { + source: TAB_URL_1, + line: 1 + }; + initDebugger(TAB_URL_1, options).then(([aTab, aDebuggee, aPanel]) => { + const gTab = aTab; + const gDebuggee = aDebuggee; + const gPanel = aPanel; + const gDebugger = gPanel.panelWin; + const gEditor = gDebugger.DebuggerView.editor; + const gSources = gDebugger.DebuggerView.Sources; + const gFrames = gDebugger.DebuggerView.StackFrames; + const constants = gDebugger.require("./content/constants"); + + Task.spawn(function* () { + let onCaretUpdated = waitForCaretUpdated(gPanel, 14); + callInTab(gTab, "simpleCall"); + yield onCaretUpdated; + + const startedLoading = waitForNextDispatch(gDebugger.DebuggerController, + constants.LOAD_SOURCE_TEXT); + navigateActiveTabTo(gPanel, TAB_URL_2, gDebugger.EVENTS.SOURCE_SHOWN); + yield startedLoading; + + isnot(gDebugger.gThreadClient.state, "paused", + "Should not be paused after a tab navigation."); + is(gFrames.itemCount, 0, + "Should have no frames."); + is(gSources.itemCount, 1, + "Found the expected number of entries in the sources widget."); + + is(getSelectedSourceURL(gSources), EXAMPLE_URL + "doc_inline-debugger-statement.html", + "There should be a selected source value."); + isnot(gEditor.getText().length, 0, + "The source editor should have some text displayed."); + is(gEditor.getText(), gDebugger.L10N.getStr("loadingText"), + "The source editor text should be 'Loading...'"); + + is(gDebugger.document.querySelectorAll("#sources .side-menu-widget-empty-text").length, 0, + "The sources widget should not display any notice at this point."); + + yield waitForDispatch(gPanel, constants.LOAD_SOURCE_TEXT); + closeDebuggerAndFinish(gPanel); + }); + }); +} |