2012-08-02 22:20:33 -07:00
|
|
|
/* Any copyright is dedicated to the Public Domain.
|
|
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
|
|
|
|
/**
|
2013-09-13 06:23:19 -07:00
|
|
|
* Tests if the same source is shown after a page is reloaded.
|
2012-08-02 22:20:33 -07:00
|
|
|
*/
|
|
|
|
|
2013-09-13 06:23:19 -07:00
|
|
|
const TAB_URL = EXAMPLE_URL + "doc_script-switching-01.html";
|
|
|
|
const FIRST_URL = EXAMPLE_URL + "code_script-switching-01.js";
|
|
|
|
const SECOND_URL = EXAMPLE_URL + "code_script-switching-02.js";
|
2012-08-02 22:20:33 -07:00
|
|
|
|
2013-09-13 06:23:19 -07:00
|
|
|
function test() {
|
|
|
|
// Debug test slaves are a bit slow at this test.
|
|
|
|
requestLongerTimeout(2);
|
2012-08-02 22:20:33 -07:00
|
|
|
|
2013-09-13 06:23:19 -07:00
|
|
|
let gTab, gDebuggee, gPanel, gDebugger;
|
|
|
|
let gSources, gStep;
|
2012-11-03 04:57:33 -07:00
|
|
|
|
2013-09-13 06:23:19 -07:00
|
|
|
initDebugger(TAB_URL).then(([aTab, aDebuggee, aPanel]) => {
|
2012-08-02 22:20:33 -07:00
|
|
|
gTab = aTab;
|
|
|
|
gDebuggee = aDebuggee;
|
2013-09-13 06:23:19 -07:00
|
|
|
gPanel = aPanel;
|
|
|
|
gDebugger = aPanel.panelWin;
|
|
|
|
gSources = gDebugger.DebuggerView.Sources;
|
|
|
|
gStep = 0;
|
2013-01-06 14:11:03 -08:00
|
|
|
|
2013-09-13 06:23:19 -07:00
|
|
|
waitForSourceShown(gPanel, FIRST_URL).then(performTest);
|
2012-08-02 22:20:33 -07:00
|
|
|
});
|
|
|
|
|
2013-09-13 06:23:19 -07:00
|
|
|
function performTest() {
|
|
|
|
switch (gStep++) {
|
|
|
|
case 0:
|
|
|
|
testCurrentSource(FIRST_URL, "");
|
|
|
|
reload().then(performTest);
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
testCurrentSource(FIRST_URL);
|
|
|
|
reload().then(performTest);
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
testCurrentSource(FIRST_URL);
|
|
|
|
switchAndReload(SECOND_URL).then(performTest);
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
testCurrentSource(SECOND_URL);
|
|
|
|
reload().then(performTest);
|
|
|
|
break;
|
|
|
|
case 4:
|
|
|
|
testCurrentSource(SECOND_URL);
|
|
|
|
reload().then(performTest);
|
|
|
|
break;
|
|
|
|
case 5:
|
|
|
|
testCurrentSource(SECOND_URL);
|
|
|
|
closeDebuggerAndFinish(gPanel);
|
|
|
|
break;
|
2012-08-02 22:20:33 -07:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-09-13 06:23:19 -07:00
|
|
|
function reload() {
|
|
|
|
return reloadActiveTab(gPanel, gDebugger.EVENTS.SOURCES_ADDED);
|
2012-08-02 22:20:33 -07:00
|
|
|
}
|
|
|
|
|
2013-09-13 06:23:19 -07:00
|
|
|
function switchAndReload(aUrl) {
|
|
|
|
let finished = waitForDebuggerEvents(gPanel, gDebugger.EVENTS.SOURCE_SHOWN).then(reload);
|
|
|
|
gSources.selectedValue = aUrl;
|
|
|
|
return finished;
|
2012-08-25 15:13:59 -07:00
|
|
|
}
|
|
|
|
|
2013-09-13 06:23:19 -07:00
|
|
|
function testCurrentSource(aUrl, aExpectedUrl = aUrl) {
|
|
|
|
info("Currently preferred source: '" + gSources.preferredValue + "'.");
|
|
|
|
info("Currently selected source: '" + gSources.selectedValue + "'.");
|
2012-10-26 10:10:17 -07:00
|
|
|
|
2013-09-13 06:23:19 -07:00
|
|
|
is(gSources.preferredValue, aExpectedUrl,
|
|
|
|
"The preferred source url wasn't set correctly (" + gStep + ").");
|
|
|
|
is(gSources.selectedValue, aUrl,
|
|
|
|
"The selected source isn't the correct one (" + gStep + ").");
|
2012-08-02 22:20:33 -07:00
|
|
|
}
|
|
|
|
}
|