Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /* Any copyright is dedicated to the Public Domain.
2 * http://creativecommons.org/publicdomain/zero/1.0/
3 */
5 const DUMMY = "browser/browser/base/content/test/general/dummy_page.html";
7 function loadNewTab(aURL, aCallback) {
8 gBrowser.selectedTab = gBrowser.addTab();
9 gBrowser.loadURI(aURL);
11 gBrowser.selectedBrowser.addEventListener("load", function() {
12 if (gBrowser.selectedBrowser.currentURI.spec != aURL)
13 return;
14 gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true);
16 aCallback(gBrowser.selectedTab);
17 }, true);
18 }
20 function getIdentityMode() {
21 return document.getElementById("identity-box").className;
22 }
24 var TESTS = [
25 function test_webpage() {
26 let oldTab = gBrowser.selectedTab;
28 loadNewTab("http://example.com/" + DUMMY, function(aNewTab) {
29 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
31 gBrowser.selectedTab = oldTab;
32 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
34 gBrowser.selectedTab = aNewTab;
35 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
37 gBrowser.removeTab(aNewTab);
39 runNextTest();
40 });
41 },
43 function test_blank() {
44 let oldTab = gBrowser.selectedTab;
46 loadNewTab("about:blank", function(aNewTab) {
47 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
49 gBrowser.selectedTab = oldTab;
50 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
52 gBrowser.selectedTab = aNewTab;
53 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
55 gBrowser.removeTab(aNewTab);
57 runNextTest();
58 });
59 },
61 function test_chrome() {
62 let oldTab = gBrowser.selectedTab;
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");
69 gBrowser.selectedTab = oldTab;
70 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
72 gBrowser.selectedTab = aNewTab;
73 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
75 gBrowser.removeTab(aNewTab);
77 runNextTest();
78 });
79 },
81 function test_https() {
82 let oldTab = gBrowser.selectedTab;
84 loadNewTab("https://example.com/" + DUMMY, function(aNewTab) {
85 is(getIdentityMode(), "verifiedDomain", "Identity should be verified");
87 gBrowser.selectedTab = oldTab;
88 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
90 gBrowser.selectedTab = aNewTab;
91 is(getIdentityMode(), "verifiedDomain", "Identity should be verified");
93 gBrowser.removeTab(aNewTab);
95 runNextTest();
96 });
97 },
99 function test_addons() {
100 let oldTab = gBrowser.selectedTab;
102 loadNewTab("about:addons", function(aNewTab) {
103 is(getIdentityMode(), "chromeUI", "Identity should be chrome");
105 gBrowser.selectedTab = oldTab;
106 is(getIdentityMode(), "unknownIdentity", "Identity should be unknown");
108 gBrowser.selectedTab = aNewTab;
109 is(getIdentityMode(), "chromeUI", "Identity should be chrome");
111 gBrowser.removeTab(aNewTab);
113 runNextTest();
114 });
115 }
116 ];
118 var gTestStart = null;
120 function runNextTest() {
121 if (gTestStart)
122 info("Test part took " + (Date.now() - gTestStart) + "ms");
124 if (TESTS.length == 0) {
125 finish();
126 return;
127 }
129 info("Running " + TESTS[0].name);
130 gTestStart = Date.now();
131 TESTS.shift()();
132 };
134 function test() {
135 waitForExplicitFinish();
137 runNextTest();
138 }