|
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/. */ |
|
4 |
|
5 "use strict"; |
|
6 |
|
7 const { LoaderWithHookedConsole } = require('sdk/test/loader'); |
|
8 const { loader } = LoaderWithHookedConsole(module); |
|
9 const app = require("sdk/system/xul-app"); |
|
10 |
|
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 |
|
15 |
|
16 exports["test compatibility"] = function(assert) { |
|
17 assert.equal(require("self"), |
|
18 require("sdk/self"), "sdk/self -> self"); |
|
19 |
|
20 assert.equal(require("tabs"), |
|
21 require("sdk/tabs"), "sdk/tabs -> tabs"); |
|
22 |
|
23 if (app.is("Firefox")) { |
|
24 assert.equal(require("widget"), |
|
25 require("sdk/widget"), "sdk/widget -> widget"); |
|
26 } |
|
27 |
|
28 assert.equal(require("page-mod"), |
|
29 require("sdk/page-mod"), "sdk/page-mod -> page-mod"); |
|
30 |
|
31 if (app.is("Firefox")) { |
|
32 assert.equal(require("panel"), |
|
33 require("sdk/panel"), "sdk/panel -> panel"); |
|
34 } |
|
35 |
|
36 assert.equal(require("request"), |
|
37 require("sdk/request"), "sdk/request -> request"); |
|
38 |
|
39 assert.equal(require("chrome"), |
|
40 require("chrome"), "chrome -> chrome"); |
|
41 |
|
42 assert.equal(require("simple-storage"), |
|
43 require("sdk/simple-storage"), "sdk/simple-storage -> simple-storage"); |
|
44 |
|
45 if (app.is("Firefox")) { |
|
46 assert.equal(require("context-menu"), |
|
47 require("sdk/context-menu"), "sdk/context-menu -> context-menu"); |
|
48 } |
|
49 |
|
50 assert.equal(require("notifications"), |
|
51 require("sdk/notifications"), "sdk/notifications -> notifications"); |
|
52 |
|
53 assert.equal(require("preferences-service"), |
|
54 require("sdk/preferences/service"), "sdk/preferences/service -> preferences-service"); |
|
55 |
|
56 assert.equal(require("window-utils"), |
|
57 require("sdk/deprecated/window-utils"), "sdk/deprecated/window-utils -> window-utils"); |
|
58 |
|
59 assert.equal(require("url"), |
|
60 require("sdk/url"), "sdk/url -> url"); |
|
61 |
|
62 if (app.is("Firefox")) { |
|
63 assert.equal(require("selection"), |
|
64 require("sdk/selection"), "sdk/selection -> selection"); |
|
65 } |
|
66 |
|
67 assert.equal(require("timers"), |
|
68 require("sdk/timers"), "sdk/timers -> timers"); |
|
69 |
|
70 assert.equal(require("simple-prefs"), |
|
71 require("sdk/simple-prefs"), "sdk/simple-prefs -> simple-prefs"); |
|
72 |
|
73 assert.equal(require("traceback"), |
|
74 require("sdk/console/traceback"), "sdk/console/traceback -> traceback"); |
|
75 |
|
76 assert.equal(require("unload"), |
|
77 require("sdk/system/unload"), "sdk/system/unload -> unload"); |
|
78 |
|
79 assert.equal(require("hotkeys"), |
|
80 require("sdk/hotkeys"), "sdk/hotkeys -> hotkeys"); |
|
81 |
|
82 if (app.is("Firefox")) { |
|
83 assert.equal(require("clipboard"), |
|
84 require("sdk/clipboard"), "sdk/clipboard -> clipboard"); |
|
85 } |
|
86 |
|
87 assert.equal(require("windows"), |
|
88 require("sdk/windows"), "sdk/windows -> windows"); |
|
89 |
|
90 assert.equal(require("page-worker"), |
|
91 require("sdk/page-worker"), "sdk/page-worker -> page-worker"); |
|
92 |
|
93 assert.equal(require("timer"), |
|
94 require("sdk/timers"), "sdk/timers -> timer"); |
|
95 |
|
96 assert.equal(require("xhr"), |
|
97 require("sdk/net/xhr"), "sdk/io/xhr -> xhr"); |
|
98 |
|
99 assert.equal(require("private-browsing"), |
|
100 require("sdk/private-browsing"), "sdk/private-browsing -> private-browsing"); |
|
101 |
|
102 assert.equal(require("passwords"), |
|
103 require("sdk/passwords"), "sdk/passwords -> passwords"); |
|
104 |
|
105 assert.equal(require("events"), |
|
106 require("sdk/deprecated/events"), "sdk/deprecated/events -> events"); |
|
107 |
|
108 assert.equal(require("match-pattern"), |
|
109 require("sdk/util/match-pattern"), "sdk/util/match-pattern -> match-pattern"); |
|
110 |
|
111 assert.equal(require("file"), |
|
112 require("sdk/io/file"), "sdk/io/file -> file"); |
|
113 |
|
114 assert.equal(require("xul-app"), |
|
115 require("sdk/system/xul-app"), "sdk/system/xul-app -> xul-app"); |
|
116 |
|
117 assert.equal(require("api-utils"), |
|
118 require("sdk/deprecated/api-utils"), "sdk/deprecated/api-utils -> api-utils"); |
|
119 |
|
120 assert.equal(require("runtime"), |
|
121 require("sdk/system/runtime"), "sdk/system/runtime -> runtime"); |
|
122 |
|
123 assert.equal(require("base64"), |
|
124 require("sdk/base64"), "sdk/base64 -> base64"); |
|
125 |
|
126 assert.equal(require("xpcom"), |
|
127 require("sdk/platform/xpcom"), "sdk/platform/xpcom -> xpcom"); |
|
128 |
|
129 assert.equal(require("traits"), |
|
130 require("sdk/deprecated/traits"), "sdk/deprecated/traits -> traits"); |
|
131 |
|
132 assert.equal(require("keyboard/utils"), |
|
133 require("sdk/keyboard/utils"), "sdk/keyboard/utils -> keyboard/utils"); |
|
134 |
|
135 assert.equal(require("system"), |
|
136 require("sdk/system"), "sdk/system -> system"); |
|
137 |
|
138 assert.equal(require("querystring"), |
|
139 require("sdk/querystring"), "sdk/querystring -> querystring"); |
|
140 |
|
141 assert.equal(loader.require("addon-page"), |
|
142 loader.require("sdk/addon-page"), "sdk/addon-page -> addon-page"); |
|
143 |
|
144 assert.equal(require("tabs/utils"), |
|
145 require("sdk/tabs/utils"), "sdk/tabs/utils -> tabs/utils"); |
|
146 |
|
147 assert.equal(require("dom/events"), |
|
148 require("sdk/dom/events"), "sdk/dom/events -> dom/events"); |
|
149 |
|
150 assert.equal(require("tabs/tab.js"), |
|
151 require("sdk/tabs/tab"), "sdk/tabs/tab -> tabs/tab.js"); |
|
152 |
|
153 assert.equal(require("memory"), |
|
154 require("sdk/deprecated/memory"), "sdk/deprecated/memory -> memory"); |
|
155 |
|
156 assert.equal(require("light-traits"), |
|
157 require("sdk/deprecated/light-traits"), "sdk/deprecated/light-traits -> light-traits"); |
|
158 |
|
159 assert.equal(require("environment"), |
|
160 require("sdk/system/environment"), "sdk/system/environment -> environment"); |
|
161 |
|
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 } |
|
168 |
|
169 assert.equal(require("test/assert"), |
|
170 require("sdk/test/assert"), "sdk/test/assert -> test/assert"); |
|
171 |
|
172 assert.equal(require("hidden-frame"), |
|
173 require("sdk/frame/hidden-frame"), "sdk/frame/hidden-frame -> hidden-frame"); |
|
174 |
|
175 assert.equal(require("collection"), |
|
176 require("sdk/util/collection"), "sdk/util/collection -> collection"); |
|
177 |
|
178 assert.equal(require("array"), |
|
179 require("sdk/util/array"), "sdk/util/array -> array"); |
|
180 |
|
181 assert.equal(require("api-utils/cortex"), |
|
182 require("sdk/deprecated/cortex"), |
|
183 "api-utils/cortex -> sdk/deprecated/cortex"); |
|
184 }; |
|
185 |
|
186 require("sdk/test/runner").runTestsFromModule(module); |