michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: 'use strict'; michael@0: michael@0: let { Test } = require('./Test.jsm'); michael@0: let { Test: Test2 } = require('./Test.jsm'); michael@0: exports.localJSM = Test.square(16) === 256; michael@0: exports.localJSMCached = Test === Test2; michael@0: michael@0: (function () { michael@0: let { Promise } = require('resource://gre/modules/Promise.jsm'); michael@0: let { defer } = require('resource://gre/modules/Promise.jsm').Promise; michael@0: michael@0: exports.isCachedAbsolute = Promise.defer === defer; michael@0: michael@0: exports.isLoadedAbsolute = function (val) { michael@0: let { promise, resolve } = Promise.defer(); michael@0: resolve(val); michael@0: return promise; michael@0: }; michael@0: })(); michael@0: michael@0: (function () { michael@0: let { Promise } = require('modules/Promise.jsm'); michael@0: let { defer } = require('modules/Promise.jsm').Promise; michael@0: exports.isCachedPath = Promise.defer === defer; michael@0: michael@0: exports.isLoadedPath = function (val) { michael@0: let { promise, resolve } = Promise.defer(); michael@0: resolve(val); michael@0: return promise; michael@0: }; michael@0: })(); michael@0: michael@0: (function () { michael@0: let { defer } = require('resource://gre/modules/commonjs/sdk/core/promise.js'); michael@0: let { defer: defer2 } = require('resource://gre/modules/commonjs/sdk/core/promise.js'); michael@0: exports.isCachedJSAbsolute = defer === defer2; michael@0: exports.isLoadedJSAbsolute = function (val) { michael@0: let { promise, resolve } = defer(); michael@0: resolve(val); michael@0: return promise; michael@0: }; michael@0: })();