michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: "use strict"; michael@0: michael@0: const { LoaderWithHookedConsole } = require('sdk/test/loader'); michael@0: const { loader } = LoaderWithHookedConsole(module); michael@0: const app = require("sdk/system/xul-app"); michael@0: michael@0: // This test makes sure that require statements used by all AMO hosted michael@0: // add-ons will be able to use old require statements. michael@0: // Tests are based on following usage data: michael@0: // https://docs.google.com/spreadsheet/ccc?key=0ApEBy-GRnGxzdHlRMHJ5RXN1aWJ4RGhINkxSd0FCQXc#gid=0 michael@0: michael@0: exports["test compatibility"] = function(assert) { michael@0: assert.equal(require("self"), michael@0: require("sdk/self"), "sdk/self -> self"); michael@0: michael@0: assert.equal(require("tabs"), michael@0: require("sdk/tabs"), "sdk/tabs -> tabs"); michael@0: michael@0: if (app.is("Firefox")) { michael@0: assert.equal(require("widget"), michael@0: require("sdk/widget"), "sdk/widget -> widget"); michael@0: } michael@0: michael@0: assert.equal(require("page-mod"), michael@0: require("sdk/page-mod"), "sdk/page-mod -> page-mod"); michael@0: michael@0: if (app.is("Firefox")) { michael@0: assert.equal(require("panel"), michael@0: require("sdk/panel"), "sdk/panel -> panel"); michael@0: } michael@0: michael@0: assert.equal(require("request"), michael@0: require("sdk/request"), "sdk/request -> request"); michael@0: michael@0: assert.equal(require("chrome"), michael@0: require("chrome"), "chrome -> chrome"); michael@0: michael@0: assert.equal(require("simple-storage"), michael@0: require("sdk/simple-storage"), "sdk/simple-storage -> simple-storage"); michael@0: michael@0: if (app.is("Firefox")) { michael@0: assert.equal(require("context-menu"), michael@0: require("sdk/context-menu"), "sdk/context-menu -> context-menu"); michael@0: } michael@0: michael@0: assert.equal(require("notifications"), michael@0: require("sdk/notifications"), "sdk/notifications -> notifications"); michael@0: michael@0: assert.equal(require("preferences-service"), michael@0: require("sdk/preferences/service"), "sdk/preferences/service -> preferences-service"); michael@0: michael@0: assert.equal(require("window-utils"), michael@0: require("sdk/deprecated/window-utils"), "sdk/deprecated/window-utils -> window-utils"); michael@0: michael@0: assert.equal(require("url"), michael@0: require("sdk/url"), "sdk/url -> url"); michael@0: michael@0: if (app.is("Firefox")) { michael@0: assert.equal(require("selection"), michael@0: require("sdk/selection"), "sdk/selection -> selection"); michael@0: } michael@0: michael@0: assert.equal(require("timers"), michael@0: require("sdk/timers"), "sdk/timers -> timers"); michael@0: michael@0: assert.equal(require("simple-prefs"), michael@0: require("sdk/simple-prefs"), "sdk/simple-prefs -> simple-prefs"); michael@0: michael@0: assert.equal(require("traceback"), michael@0: require("sdk/console/traceback"), "sdk/console/traceback -> traceback"); michael@0: michael@0: assert.equal(require("unload"), michael@0: require("sdk/system/unload"), "sdk/system/unload -> unload"); michael@0: michael@0: assert.equal(require("hotkeys"), michael@0: require("sdk/hotkeys"), "sdk/hotkeys -> hotkeys"); michael@0: michael@0: if (app.is("Firefox")) { michael@0: assert.equal(require("clipboard"), michael@0: require("sdk/clipboard"), "sdk/clipboard -> clipboard"); michael@0: } michael@0: michael@0: assert.equal(require("windows"), michael@0: require("sdk/windows"), "sdk/windows -> windows"); michael@0: michael@0: assert.equal(require("page-worker"), michael@0: require("sdk/page-worker"), "sdk/page-worker -> page-worker"); michael@0: michael@0: assert.equal(require("timer"), michael@0: require("sdk/timers"), "sdk/timers -> timer"); michael@0: michael@0: assert.equal(require("xhr"), michael@0: require("sdk/net/xhr"), "sdk/io/xhr -> xhr"); michael@0: michael@0: assert.equal(require("private-browsing"), michael@0: require("sdk/private-browsing"), "sdk/private-browsing -> private-browsing"); michael@0: michael@0: assert.equal(require("passwords"), michael@0: require("sdk/passwords"), "sdk/passwords -> passwords"); michael@0: michael@0: assert.equal(require("events"), michael@0: require("sdk/deprecated/events"), "sdk/deprecated/events -> events"); michael@0: michael@0: assert.equal(require("match-pattern"), michael@0: require("sdk/util/match-pattern"), "sdk/util/match-pattern -> match-pattern"); michael@0: michael@0: assert.equal(require("file"), michael@0: require("sdk/io/file"), "sdk/io/file -> file"); michael@0: michael@0: assert.equal(require("xul-app"), michael@0: require("sdk/system/xul-app"), "sdk/system/xul-app -> xul-app"); michael@0: michael@0: assert.equal(require("api-utils"), michael@0: require("sdk/deprecated/api-utils"), "sdk/deprecated/api-utils -> api-utils"); michael@0: michael@0: assert.equal(require("runtime"), michael@0: require("sdk/system/runtime"), "sdk/system/runtime -> runtime"); michael@0: michael@0: assert.equal(require("base64"), michael@0: require("sdk/base64"), "sdk/base64 -> base64"); michael@0: michael@0: assert.equal(require("xpcom"), michael@0: require("sdk/platform/xpcom"), "sdk/platform/xpcom -> xpcom"); michael@0: michael@0: assert.equal(require("traits"), michael@0: require("sdk/deprecated/traits"), "sdk/deprecated/traits -> traits"); michael@0: michael@0: assert.equal(require("keyboard/utils"), michael@0: require("sdk/keyboard/utils"), "sdk/keyboard/utils -> keyboard/utils"); michael@0: michael@0: assert.equal(require("system"), michael@0: require("sdk/system"), "sdk/system -> system"); michael@0: michael@0: assert.equal(require("querystring"), michael@0: require("sdk/querystring"), "sdk/querystring -> querystring"); michael@0: michael@0: assert.equal(loader.require("addon-page"), michael@0: loader.require("sdk/addon-page"), "sdk/addon-page -> addon-page"); michael@0: michael@0: assert.equal(require("tabs/utils"), michael@0: require("sdk/tabs/utils"), "sdk/tabs/utils -> tabs/utils"); michael@0: michael@0: assert.equal(require("dom/events"), michael@0: require("sdk/dom/events"), "sdk/dom/events -> dom/events"); michael@0: michael@0: assert.equal(require("tabs/tab.js"), michael@0: require("sdk/tabs/tab"), "sdk/tabs/tab -> tabs/tab.js"); michael@0: michael@0: assert.equal(require("memory"), michael@0: require("sdk/deprecated/memory"), "sdk/deprecated/memory -> memory"); michael@0: michael@0: assert.equal(require("light-traits"), michael@0: require("sdk/deprecated/light-traits"), "sdk/deprecated/light-traits -> light-traits"); michael@0: michael@0: assert.equal(require("environment"), michael@0: require("sdk/system/environment"), "sdk/system/environment -> environment"); michael@0: michael@0: if (app.is("Firefox")) { michael@0: // This module fails on fennec because of favicon xpcom component michael@0: // being not implemented on it. michael@0: assert.equal(require("utils/data"), michael@0: require("sdk/io/data"), "sdk/io/data -> utils/data"); michael@0: } michael@0: michael@0: assert.equal(require("test/assert"), michael@0: require("sdk/test/assert"), "sdk/test/assert -> test/assert"); michael@0: michael@0: assert.equal(require("hidden-frame"), michael@0: require("sdk/frame/hidden-frame"), "sdk/frame/hidden-frame -> hidden-frame"); michael@0: michael@0: assert.equal(require("collection"), michael@0: require("sdk/util/collection"), "sdk/util/collection -> collection"); michael@0: michael@0: assert.equal(require("array"), michael@0: require("sdk/util/array"), "sdk/util/array -> array"); michael@0: michael@0: assert.equal(require("api-utils/cortex"), michael@0: require("sdk/deprecated/cortex"), michael@0: "api-utils/cortex -> sdk/deprecated/cortex"); michael@0: }; michael@0: michael@0: require("sdk/test/runner").runTestsFromModule(module);