|
1 /* Any copyright is dedicated to the Public Domain. |
|
2 http://creativecommons.org/publicdomain/zero/1.0/ */ |
|
3 |
|
4 // Tests that the developer toolbar works properly |
|
5 |
|
6 const TEST_URI = "http://example.com/browser/browser/devtools/shared/test/browser_toolbar_basic.html"; |
|
7 |
|
8 function test() { |
|
9 addTab(TEST_URI, function(browser, tab) { |
|
10 info("Starting browser_toolbar_basic.js"); |
|
11 runTest(); |
|
12 }); |
|
13 } |
|
14 |
|
15 function runTest() { |
|
16 ok(!DeveloperToolbar.visible, "DeveloperToolbar is not visible in runTest"); |
|
17 |
|
18 oneTimeObserve(DeveloperToolbar.NOTIFICATIONS.SHOW, catchFail(checkOpen)); |
|
19 document.getElementById("Tools:DevToolbar").doCommand(); |
|
20 } |
|
21 |
|
22 function isChecked(b) { |
|
23 return b.getAttribute("checked") == "true"; |
|
24 } |
|
25 |
|
26 function checkOpen() { |
|
27 ok(DeveloperToolbar.visible, "DeveloperToolbar is visible in checkOpen"); |
|
28 let close = document.getElementById("developer-toolbar-closebutton"); |
|
29 ok(close, "Close button exists"); |
|
30 |
|
31 let toggleToolbox = |
|
32 document.getElementById("devtoolsMenuBroadcaster_DevToolbox"); |
|
33 ok(!isChecked(toggleToolbox), "toggle toolbox button is not checked"); |
|
34 |
|
35 let target = TargetFactory.forTab(gBrowser.selectedTab); |
|
36 gDevTools.showToolbox(target, "inspector").then(function(toolbox) { |
|
37 ok(isChecked(toggleToolbox), "toggle toolbox button is checked"); |
|
38 |
|
39 addTab("about:blank", function(browser, tab) { |
|
40 info("Opened a new tab"); |
|
41 |
|
42 ok(!isChecked(toggleToolbox), "toggle toolbox button is not checked"); |
|
43 |
|
44 gBrowser.removeCurrentTab(); |
|
45 |
|
46 oneTimeObserve(DeveloperToolbar.NOTIFICATIONS.HIDE, catchFail(checkClosed)); |
|
47 document.getElementById("Tools:DevToolbar").doCommand(); |
|
48 }); |
|
49 }); |
|
50 } |
|
51 |
|
52 function checkClosed() { |
|
53 ok(!DeveloperToolbar.visible, "DeveloperToolbar is not visible in checkClosed"); |
|
54 |
|
55 oneTimeObserve(DeveloperToolbar.NOTIFICATIONS.SHOW, catchFail(checkReOpen)); |
|
56 document.getElementById("Tools:DevToolbar").doCommand(); |
|
57 } |
|
58 |
|
59 function checkReOpen() { |
|
60 ok(DeveloperToolbar.visible, "DeveloperToolbar is visible in checkReOpen"); |
|
61 |
|
62 let toggleToolbox = |
|
63 document.getElementById("devtoolsMenuBroadcaster_DevToolbox"); |
|
64 ok(isChecked(toggleToolbox), "toggle toolbox button is checked"); |
|
65 |
|
66 oneTimeObserve(DeveloperToolbar.NOTIFICATIONS.HIDE, catchFail(checkReClosed)); |
|
67 document.getElementById("developer-toolbar-closebutton").doCommand(); |
|
68 } |
|
69 |
|
70 function checkReClosed() { |
|
71 ok(!DeveloperToolbar.visible, "DeveloperToolbar is not visible in checkReClosed"); |
|
72 |
|
73 finish(); |
|
74 } |