|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 /** |
|
5 * Tests if the preferred source is shown when a page is loaded and |
|
6 * the preferred source is specified after another source was definitely shown. |
|
7 */ |
|
8 |
|
9 const TAB_URL = EXAMPLE_URL + "doc_script-switching-01.html"; |
|
10 const FIRST_URL = EXAMPLE_URL + "code_script-switching-01.js"; |
|
11 const SECOND_URL = EXAMPLE_URL + "code_script-switching-02.js"; |
|
12 |
|
13 let gTab, gDebuggee, gPanel, gDebugger; |
|
14 let gSources; |
|
15 |
|
16 function test() { |
|
17 initDebugger(TAB_URL).then(([aTab, aDebuggee, aPanel]) => { |
|
18 gTab = aTab; |
|
19 gDebuggee = aDebuggee; |
|
20 gPanel = aPanel; |
|
21 gDebugger = gPanel.panelWin; |
|
22 gSources = gDebugger.DebuggerView.Sources; |
|
23 |
|
24 waitForSourceShown(gPanel, FIRST_URL) |
|
25 .then(() => testSource("", FIRST_URL)) |
|
26 .then(() => switchToSource(SECOND_URL)) |
|
27 .then(() => testSource(SECOND_URL)) |
|
28 .then(() => switchToSource(FIRST_URL)) |
|
29 .then(() => testSource(FIRST_URL)) |
|
30 .then(() => closeDebuggerAndFinish(gPanel)) |
|
31 .then(null, aError => { |
|
32 ok(false, "Got an error: " + aError.message + "\n" + aError.stack); |
|
33 }); |
|
34 }); |
|
35 } |
|
36 |
|
37 function testSource(aPreferredUrl, aSelectedUrl = aPreferredUrl) { |
|
38 info("Currently preferred source: " + gSources.preferredValue); |
|
39 info("Currently selected source: " + gSources.selectedValue); |
|
40 |
|
41 is(gSources.preferredValue, aPreferredUrl, |
|
42 "The preferred source url wasn't set correctly."); |
|
43 is(gSources.selectedValue, aSelectedUrl, |
|
44 "The selected source isn't the correct one."); |
|
45 } |
|
46 |
|
47 function switchToSource(aUrl) { |
|
48 let finished = waitForSourceShown(gPanel, aUrl); |
|
49 gSources.preferredSource = aUrl; |
|
50 return finished; |
|
51 } |
|
52 |
|
53 registerCleanupFunction(function() { |
|
54 gTab = null; |
|
55 gDebuggee = null; |
|
56 gPanel = null; |
|
57 gDebugger = null; |
|
58 gSources = null; |
|
59 }); |