browser/base/content/test/general/browser_bug590206.js

branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
equal deleted inserted replaced
-1:000000000000 0:4af2a4f71e91
1 /* Any copyright is dedicated to the Public Domain.
2 * http://creativecommons.org/publicdomain/zero/1.0/
3 */
4
5 const DUMMY = "browser/browser/base/content/test/general/dummy_page.html";
6
7 function loadNewTab(aURL, aCallback) {
8 gBrowser.selectedTab = gBrowser.addTab();
9 gBrowser.loadURI(aURL);
10
11 gBrowser.selectedBrowser.addEventListener("load", function() {
12 if (gBrowser.selectedBrowser.currentURI.spec != aURL)
13 return;
14 gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
15
16 aCallback(gBrowser.selectedTab);
17 }, true);
18 }
19
20 function getIdentityMode() {
21 return document.getElementById("identity-box").className;
22 }
23
24 var TESTS = [
25 function test_webpage() {
26 let oldTab = gBrowser.selectedTab;
27
28 loadNewTab("http://example.com/" + DUMMY, function(aNewTab) {
29 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
30
31 gBrowser.selectedTab = oldTab;
32 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
33
34 gBrowser.selectedTab = aNewTab;
35 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
36
37 gBrowser.removeTab(aNewTab);
38
39 runNextTest();
40 });
41 },
42
43 function test_blank() {
44 let oldTab = gBrowser.selectedTab;
45
46 loadNewTab("about:blank", function(aNewTab) {
47 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
48
49 gBrowser.selectedTab = oldTab;
50 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
51
52 gBrowser.selectedTab = aNewTab;
53 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
54
55 gBrowser.removeTab(aNewTab);
56
57 runNextTest();
58 });
59 },
60
61 function test_chrome() {
62 let oldTab = gBrowser.selectedTab;
63
64 // Since users aren't likely to type in full chrome URLs, we won't show
65 // the positive security indicator on it, but we will show it on about:addons.
66 loadNewTab("chrome://mozapps/content/extensions/extensions.xul", function(aNewTab) {
67 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
68
69 gBrowser.selectedTab = oldTab;
70 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
71
72 gBrowser.selectedTab = aNewTab;
73 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
74
75 gBrowser.removeTab(aNewTab);
76
77 runNextTest();
78 });
79 },
80
81 function test_https() {
82 let oldTab = gBrowser.selectedTab;
83
84 loadNewTab("https://example.com/" + DUMMY, function(aNewTab) {
85 is(getIdentityMode(), "verifiedDomain", "Identity should be verified");
86
87 gBrowser.selectedTab = oldTab;
88 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
89
90 gBrowser.selectedTab = aNewTab;
91 is(getIdentityMode(), "verifiedDomain", "Identity should be verified");
92
93 gBrowser.removeTab(aNewTab);
94
95 runNextTest();
96 });
97 },
98
99 function test_addons() {
100 let oldTab = gBrowser.selectedTab;
101
102 loadNewTab("about:addons", function(aNewTab) {
103 is(getIdentityMode(), "chromeUI", "Identity should be chrome");
104
105 gBrowser.selectedTab = oldTab;
106 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
107
108 gBrowser.selectedTab = aNewTab;
109 is(getIdentityMode(), "chromeUI", "Identity should be chrome");
110
111 gBrowser.removeTab(aNewTab);
112
113 runNextTest();
114 });
115 }
116 ];
117
118 var gTestStart = null;
119
120 function runNextTest() {
121 if (gTestStart)
122 info("Test part took " + (Date.now() - gTestStart) + "ms");
123
124 if (TESTS.length == 0) {
125 finish();
126 return;
127 }
128
129 info("Running " + TESTS[0].name);
130 gTestStart = Date.now();
131 TESTS.shift()();
132 };
133
134 function test() {
135 waitForExplicitFinish();
136
137 runNextTest();
138 }

mercurial