summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/test/fixtures/jsm-package/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'addon-sdk/source/test/fixtures/jsm-package/index.js')
-rw-r--r--addon-sdk/source/test/fixtures/jsm-package/index.js46
1 files changed, 46 insertions, 0 deletions
diff --git a/addon-sdk/source/test/fixtures/jsm-package/index.js b/addon-sdk/source/test/fixtures/jsm-package/index.js
new file mode 100644
index 000000000..e20721c76
--- /dev/null
+++ b/addon-sdk/source/test/fixtures/jsm-package/index.js
@@ -0,0 +1,46 @@
+/* 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 { Test } = require('./Test.jsm');
+var { Test: Test2 } = require('./Test.jsm');
+exports.localJSM = Test.square(16) === 256;
+exports.localJSMCached = Test === Test2;
+
+(function () {
+var { Promise } = require('resource://gre/modules/Promise.jsm');
+var { defer } = require('resource://gre/modules/Promise.jsm').Promise;
+
+exports.isCachedAbsolute = Promise.defer === defer;
+
+exports.isLoadedAbsolute = function (val) {
+ let { promise, resolve } = Promise.defer();
+ resolve(val);
+ return promise;
+};
+})();
+
+(function () {
+var { Promise } = require('modules/Promise.jsm');
+var { defer } = require('modules/Promise.jsm').Promise;
+exports.isCachedPath = Promise.defer === defer;
+
+exports.isLoadedPath = function (val) {
+ let { promise, resolve } = Promise.defer();
+ resolve(val);
+ return promise;
+};
+})();
+
+(function () {
+var { defer } = require('resource://gre/modules/commonjs/sdk/core/promise.js');
+var { defer: defer2 } = require('resource://gre/modules/commonjs/sdk/core/promise.js');
+exports.isCachedJSAbsolute = defer === defer2;
+exports.isLoadedJSAbsolute = function (val) {
+ let { promise, resolve } = defer();
+ resolve(val);
+ return promise;
+};
+})();