summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/test/fixtures/jsm-package
diff options
context:
space:
mode:
Diffstat (limited to 'addon-sdk/source/test/fixtures/jsm-package')
-rw-r--r--addon-sdk/source/test/fixtures/jsm-package/Test.jsm11
-rw-r--r--addon-sdk/source/test/fixtures/jsm-package/index.js46
-rw-r--r--addon-sdk/source/test/fixtures/jsm-package/package.json3
3 files changed, 60 insertions, 0 deletions
diff --git a/addon-sdk/source/test/fixtures/jsm-package/Test.jsm b/addon-sdk/source/test/fixtures/jsm-package/Test.jsm
new file mode 100644
index 000000000..3e71b456a
--- /dev/null
+++ b/addon-sdk/source/test/fixtures/jsm-package/Test.jsm
@@ -0,0 +1,11 @@
+/* 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";
+
+this.EXPORTED_SYMBOLS = ["Test"];
+
+this.Test = {
+ square: function (x) { return x * x; }
+};
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;
+};
+})();
diff --git a/addon-sdk/source/test/fixtures/jsm-package/package.json b/addon-sdk/source/test/fixtures/jsm-package/package.json
new file mode 100644
index 000000000..2e8caf211
--- /dev/null
+++ b/addon-sdk/source/test/fixtures/jsm-package/package.json
@@ -0,0 +1,3 @@
+{
+ "name": "jsm-package"
+}