diff options
Diffstat (limited to 'addon-sdk/source/test/test-shared-require.js')
-rw-r--r-- | addon-sdk/source/test/test-shared-require.js | 36 |
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) |