Thu, 15 Jan 2015 15:59:08 +0100
Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 "use strict";
7 const { LoaderWithHookedConsole } = require('sdk/test/loader');
8 const { loader } = LoaderWithHookedConsole(module);
9 const app = require("sdk/system/xul-app");
11 // This test makes sure that require statements used by all AMO hosted
12 // add-ons will be able to use old require statements.
13 // Tests are based on following usage data:
14 // https://docs.google.com/spreadsheet/ccc?key=0ApEBy-GRnGxzdHlRMHJ5RXN1aWJ4RGhINkxSd0FCQXc#gid=0
16 exports["test compatibility"] = function(assert) {
17 assert.equal(require("self"),
18 require("sdk/self"), "sdk/self -> self");
20 assert.equal(require("tabs"),
21 require("sdk/tabs"), "sdk/tabs -> tabs");
23 if (app.is("Firefox")) {
24 assert.equal(require("widget"),
25 require("sdk/widget"), "sdk/widget -> widget");
26 }
28 assert.equal(require("page-mod"),
29 require("sdk/page-mod"), "sdk/page-mod -> page-mod");
31 if (app.is("Firefox")) {
32 assert.equal(require("panel"),
33 require("sdk/panel"), "sdk/panel -> panel");
34 }
36 assert.equal(require("request"),
37 require("sdk/request"), "sdk/request -> request");
39 assert.equal(require("chrome"),
40 require("chrome"), "chrome -> chrome");
42 assert.equal(require("simple-storage"),
43 require("sdk/simple-storage"), "sdk/simple-storage -> simple-storage");
45 if (app.is("Firefox")) {
46 assert.equal(require("context-menu"),
47 require("sdk/context-menu"), "sdk/context-menu -> context-menu");
48 }
50 assert.equal(require("notifications"),
51 require("sdk/notifications"), "sdk/notifications -> notifications");
53 assert.equal(require("preferences-service"),
54 require("sdk/preferences/service"), "sdk/preferences/service -> preferences-service");
56 assert.equal(require("window-utils"),
57 require("sdk/deprecated/window-utils"), "sdk/deprecated/window-utils -> window-utils");
59 assert.equal(require("url"),
60 require("sdk/url"), "sdk/url -> url");
62 if (app.is("Firefox")) {
63 assert.equal(require("selection"),
64 require("sdk/selection"), "sdk/selection -> selection");
65 }
67 assert.equal(require("timers"),
68 require("sdk/timers"), "sdk/timers -> timers");
70 assert.equal(require("simple-prefs"),
71 require("sdk/simple-prefs"), "sdk/simple-prefs -> simple-prefs");
73 assert.equal(require("traceback"),
74 require("sdk/console/traceback"), "sdk/console/traceback -> traceback");
76 assert.equal(require("unload"),
77 require("sdk/system/unload"), "sdk/system/unload -> unload");
79 assert.equal(require("hotkeys"),
80 require("sdk/hotkeys"), "sdk/hotkeys -> hotkeys");
82 if (app.is("Firefox")) {
83 assert.equal(require("clipboard"),
84 require("sdk/clipboard"), "sdk/clipboard -> clipboard");
85 }
87 assert.equal(require("windows"),
88 require("sdk/windows"), "sdk/windows -> windows");
90 assert.equal(require("page-worker"),
91 require("sdk/page-worker"), "sdk/page-worker -> page-worker");
93 assert.equal(require("timer"),
94 require("sdk/timers"), "sdk/timers -> timer");
96 assert.equal(require("xhr"),
97 require("sdk/net/xhr"), "sdk/io/xhr -> xhr");
99 assert.equal(require("private-browsing"),
100 require("sdk/private-browsing"), "sdk/private-browsing -> private-browsing");
102 assert.equal(require("passwords"),
103 require("sdk/passwords"), "sdk/passwords -> passwords");
105 assert.equal(require("events"),
106 require("sdk/deprecated/events"), "sdk/deprecated/events -> events");
108 assert.equal(require("match-pattern"),
109 require("sdk/util/match-pattern"), "sdk/util/match-pattern -> match-pattern");
111 assert.equal(require("file"),
112 require("sdk/io/file"), "sdk/io/file -> file");
114 assert.equal(require("xul-app"),
115 require("sdk/system/xul-app"), "sdk/system/xul-app -> xul-app");
117 assert.equal(require("api-utils"),
118 require("sdk/deprecated/api-utils"), "sdk/deprecated/api-utils -> api-utils");
120 assert.equal(require("runtime"),
121 require("sdk/system/runtime"), "sdk/system/runtime -> runtime");
123 assert.equal(require("base64"),
124 require("sdk/base64"), "sdk/base64 -> base64");
126 assert.equal(require("xpcom"),
127 require("sdk/platform/xpcom"), "sdk/platform/xpcom -> xpcom");
129 assert.equal(require("traits"),
130 require("sdk/deprecated/traits"), "sdk/deprecated/traits -> traits");
132 assert.equal(require("keyboard/utils"),
133 require("sdk/keyboard/utils"), "sdk/keyboard/utils -> keyboard/utils");
135 assert.equal(require("system"),
136 require("sdk/system"), "sdk/system -> system");
138 assert.equal(require("querystring"),
139 require("sdk/querystring"), "sdk/querystring -> querystring");
141 assert.equal(loader.require("addon-page"),
142 loader.require("sdk/addon-page"), "sdk/addon-page -> addon-page");
144 assert.equal(require("tabs/utils"),
145 require("sdk/tabs/utils"), "sdk/tabs/utils -> tabs/utils");
147 assert.equal(require("dom/events"),
148 require("sdk/dom/events"), "sdk/dom/events -> dom/events");
150 assert.equal(require("tabs/tab.js"),
151 require("sdk/tabs/tab"), "sdk/tabs/tab -> tabs/tab.js");
153 assert.equal(require("memory"),
154 require("sdk/deprecated/memory"), "sdk/deprecated/memory -> memory");
156 assert.equal(require("light-traits"),
157 require("sdk/deprecated/light-traits"), "sdk/deprecated/light-traits -> light-traits");
159 assert.equal(require("environment"),
160 require("sdk/system/environment"), "sdk/system/environment -> environment");
162 if (app.is("Firefox")) {
163 // This module fails on fennec because of favicon xpcom component
164 // being not implemented on it.
165 assert.equal(require("utils/data"),
166 require("sdk/io/data"), "sdk/io/data -> utils/data");
167 }
169 assert.equal(require("test/assert"),
170 require("sdk/test/assert"), "sdk/test/assert -> test/assert");
172 assert.equal(require("hidden-frame"),
173 require("sdk/frame/hidden-frame"), "sdk/frame/hidden-frame -> hidden-frame");
175 assert.equal(require("collection"),
176 require("sdk/util/collection"), "sdk/util/collection -> collection");
178 assert.equal(require("array"),
179 require("sdk/util/array"), "sdk/util/array -> array");
181 assert.equal(require("api-utils/cortex"),
182 require("sdk/deprecated/cortex"),
183 "api-utils/cortex -> sdk/deprecated/cortex");
184 };
186 require("sdk/test/runner").runTestsFromModule(module);