summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/test/test-shared-require.js
diff options
context:
space:
mode:
Diffstat (limited to 'addon-sdk/source/test/test-shared-require.js')
-rw-r--r--addon-sdk/source/test/test-shared-require.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/addon-sdk/source/test/test-shared-require.js b/addon-sdk/source/test/test-shared-require.js
new file mode 100644
index 000000000..c5a1bf88b
--- /dev/null
+++ b/addon-sdk/source/test/test-shared-require.js
@@ -0,0 +1,36 @@
+/* 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";
+
+const { Cu } = require("chrome");
+
+const requireURI = require.resolve("toolkit/require.js");
+
+const jsm = Cu.import(requireURI, {});
+
+exports.testRequire = assert => {
+ assert.equal(typeof(jsm.require), "function",
+ "require is a function");
+ assert.equal(typeof(jsm.require.resolve), "function",
+ "require.resolve is a function");
+
+ assert.equal(typeof(jsm.require("method/core")), "function",
+ "can import modules that aren't under sdk");
+
+ assert.equal(typeof(jsm.require("sdk/base64").encode), "function",
+ "can import module from sdk");
+};
+
+const required = require("toolkit/require")
+
+exports.testSameRequire = (assert) => {
+ assert.equal(jsm.require("method/core"),
+ required.require("method/core"),
+ "jsm and module return same instance");
+
+ assert.equal(jsm.require, required.require,
+ "require function is same in both contexts");
+};
+
+require("sdk/test").run(exports)