From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- addon-sdk/source/test/addons/require/list.js | 6 ++ addon-sdk/source/test/addons/require/main.js | 87 ++++++++++++++++++++++ addon-sdk/source/test/addons/require/multiple/a.js | 5 ++ addon-sdk/source/test/addons/require/multiple/b.js | 5 ++ addon-sdk/source/test/addons/require/package.json | 8 ++ .../test/addons/require/packages/tabs/main.js | 5 ++ .../test/addons/require/packages/tabs/package.json | 3 + .../test/addons/require/packages/tabs/page-mod.js | 5 ++ .../source/test/addons/require/same-folder.js | 5 ++ .../test/addons/require/sub-folder/module.js | 5 ++ addon-sdk/source/test/addons/require/tabs.js | 5 ++ 11 files changed, 139 insertions(+) create mode 100644 addon-sdk/source/test/addons/require/list.js create mode 100644 addon-sdk/source/test/addons/require/main.js create mode 100644 addon-sdk/source/test/addons/require/multiple/a.js create mode 100644 addon-sdk/source/test/addons/require/multiple/b.js create mode 100644 addon-sdk/source/test/addons/require/package.json create mode 100644 addon-sdk/source/test/addons/require/packages/tabs/main.js create mode 100644 addon-sdk/source/test/addons/require/packages/tabs/package.json create mode 100644 addon-sdk/source/test/addons/require/packages/tabs/page-mod.js create mode 100644 addon-sdk/source/test/addons/require/same-folder.js create mode 100644 addon-sdk/source/test/addons/require/sub-folder/module.js create mode 100644 addon-sdk/source/test/addons/require/tabs.js (limited to 'addon-sdk/source/test/addons/require') diff --git a/addon-sdk/source/test/addons/require/list.js b/addon-sdk/source/test/addons/require/list.js new file mode 100644 index 000000000..9d2566a87 --- /dev/null +++ b/addon-sdk/source/test/addons/require/list.js @@ -0,0 +1,6 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +"use strict"; + +exports.local = true; diff --git a/addon-sdk/source/test/addons/require/main.js b/addon-sdk/source/test/addons/require/main.js new file mode 100644 index 000000000..53391f08b --- /dev/null +++ b/addon-sdk/source/test/addons/require/main.js @@ -0,0 +1,87 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +"use strict"; + +var { isNative } = require("@loader/options"); + +exports["test local vs sdk module"] = function (assert) { + assert.notEqual(require("list"), + require("sdk/util/list"), + "Local module takes the priority over sdk modules"); + assert.ok(require("list").local, + "this module is really the local one"); +} + +if (!isNative) { + exports["test 3rd party vs sdk module"] = function (assert) { + // We are testing with a 3rd party package called `tabs` with 3 modules + // main, page-mod and third-party + + // the only way to require 3rd party package modules are to use absolute paths + // require("tabs/main"), require("tabs/page-mod"), + // require("tabs/third-party") and also require("tabs") which will refer + // to tabs's main package module. + + // So require(page-mod) shouldn't map the 3rd party + assert.equal(require("page-mod"), + require("sdk/page-mod"), + "Third party modules don't overload sdk modules"); + + assert.ok(require("page-mod").PageMod, + "page-mod module is really the sdk one"); + + assert.equal(require("tabs/page-mod").id, "page-mod", + "tabs/page-mod is the 3rd party"); + + // But require(tabs) will map to 3rd party main module + // *and* overload the sdk module + // and also any local module with the same name + assert.equal(require("tabs").id, "tabs-main", + "Third party main module overload sdk modules"); + + assert.equal(require("tabs"), + require("tabs/main"), + "require(tabs) maps to require(tabs/main)"); + + // So that you have to use relative path to ensure getting the local module + assert.equal(require("./tabs").id, + "local-tabs", + "require(./tabs) maps to the local module"); + + // It should still be possible to require sdk module with absolute path + assert.ok(require("sdk/tabs").open, + "We can bypass this overloading with absolute path to sdk modules"); + + assert.equal(require("sdk/tabs"), + require("addon-kit/tabs"), + "Old and new layout both work"); + } +} + +// /!\ Always use distinct module for each test. +// Otherwise, the linker can correctly parse and allow the first usage of it +// but still silently fail on the second. + +exports.testRelativeRequire = function (assert) { + assert.equal(require('./same-folder').id, 'same-folder'); +} + +exports.testRelativeSubFolderRequire = function (assert) { + assert.equal(require('./sub-folder/module').id, 'sub-folder'); +} + +exports.testMultipleRequirePerLine = function (assert) { + var a=require('./multiple/a'),b=require('./multiple/b'); + assert.equal(a.id, 'a'); + assert.equal(b.id, 'b'); +} + +exports.testSDKRequire = function (assert) { + assert.deepEqual(Object.keys(require('sdk/page-worker')), ['Page']); + if (!isNative) { + assert.equal(require('page-worker'), require('sdk/page-worker')); + } +} + +require("sdk/test/runner").runTestsFromModule(module); diff --git a/addon-sdk/source/test/addons/require/multiple/a.js b/addon-sdk/source/test/addons/require/multiple/a.js new file mode 100644 index 000000000..737cce2b0 --- /dev/null +++ b/addon-sdk/source/test/addons/require/multiple/a.js @@ -0,0 +1,5 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +exports.id = 'a'; diff --git a/addon-sdk/source/test/addons/require/multiple/b.js b/addon-sdk/source/test/addons/require/multiple/b.js new file mode 100644 index 000000000..382a7d22c --- /dev/null +++ b/addon-sdk/source/test/addons/require/multiple/b.js @@ -0,0 +1,5 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +exports.id = 'b'; diff --git a/addon-sdk/source/test/addons/require/package.json b/addon-sdk/source/test/addons/require/package.json new file mode 100644 index 000000000..828853f56 --- /dev/null +++ b/addon-sdk/source/test/addons/require/package.json @@ -0,0 +1,8 @@ +{ + "id": "test-require@jetpack", + "name": "test-require", + "packages": "packages", + "ignore-deprecated-path": true, + "main": "./main.js", + "version": "0.0.1" +} diff --git a/addon-sdk/source/test/addons/require/packages/tabs/main.js b/addon-sdk/source/test/addons/require/packages/tabs/main.js new file mode 100644 index 000000000..871c9e4de --- /dev/null +++ b/addon-sdk/source/test/addons/require/packages/tabs/main.js @@ -0,0 +1,5 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +exports.id = "tabs-main"; diff --git a/addon-sdk/source/test/addons/require/packages/tabs/package.json b/addon-sdk/source/test/addons/require/packages/tabs/package.json new file mode 100644 index 000000000..2446c2e53 --- /dev/null +++ b/addon-sdk/source/test/addons/require/packages/tabs/package.json @@ -0,0 +1,3 @@ +{ + "id": "test-panel" +} \ No newline at end of file diff --git a/addon-sdk/source/test/addons/require/packages/tabs/page-mod.js b/addon-sdk/source/test/addons/require/packages/tabs/page-mod.js new file mode 100644 index 000000000..6c90f46c1 --- /dev/null +++ b/addon-sdk/source/test/addons/require/packages/tabs/page-mod.js @@ -0,0 +1,5 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +exports.id = "page-mod"; diff --git a/addon-sdk/source/test/addons/require/same-folder.js b/addon-sdk/source/test/addons/require/same-folder.js new file mode 100644 index 000000000..d2f9b017d --- /dev/null +++ b/addon-sdk/source/test/addons/require/same-folder.js @@ -0,0 +1,5 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +exports.id = 'same-folder'; diff --git a/addon-sdk/source/test/addons/require/sub-folder/module.js b/addon-sdk/source/test/addons/require/sub-folder/module.js new file mode 100644 index 000000000..8ce8181b2 --- /dev/null +++ b/addon-sdk/source/test/addons/require/sub-folder/module.js @@ -0,0 +1,5 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +exports.id = 'sub-folder'; diff --git a/addon-sdk/source/test/addons/require/tabs.js b/addon-sdk/source/test/addons/require/tabs.js new file mode 100644 index 000000000..5a46e63b8 --- /dev/null +++ b/addon-sdk/source/test/addons/require/tabs.js @@ -0,0 +1,5 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +exports.id = "local-tabs"; -- cgit v1.2.3