summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/test/test-reference.js
diff options
context:
space:
mode:
Diffstat (limited to 'addon-sdk/source/test/test-reference.js')
-rw-r--r--addon-sdk/source/test/test-reference.js99
1 files changed, 0 insertions, 99 deletions
diff --git a/addon-sdk/source/test/test-reference.js b/addon-sdk/source/test/test-reference.js
deleted file mode 100644
index 1fe08004c..000000000
--- a/addon-sdk/source/test/test-reference.js
+++ /dev/null
@@ -1,99 +0,0 @@
-/* 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 { isWeak, WeakReference } = require("sdk/core/reference");
-const { Class } = require("sdk/core/heritage");
-
-exports["test non WeakReferences"] = assert => {
- assert.equal(isWeak({}), false,
- "regular objects aren't weak");
-
- assert.equal(isWeak([]), false,
- "arrays aren't weak");
-};
-
-exports["test a WeakReference"] = assert => {
- assert.equal(isWeak(new WeakReference()), true,
- "instances of WeakReferences are weak");
-};
-
-exports["test a subclass"] = assert => {
- const SubType = Class({
- extends: WeakReference,
- foo: function() {
- }
- });
-
- const x = new SubType();
- assert.equal(isWeak(x), true,
- "subtypes of WeakReferences are weak");
-
- const SubSubType = Class({
- extends: SubType
- });
-
- const y = new SubSubType();
- assert.equal(isWeak(y), true,
- "sub subtypes of WeakReferences are weak");
-};
-
-exports["test a mixin"] = assert => {
- const Mixer = Class({
- implements: [WeakReference]
- });
-
- assert.equal(isWeak(new Mixer()), true,
- "instances with mixed WeakReference are weak");
-
- const Mux = Class({});
- const MixMux = Class({
- extends: Mux,
- implements: [WeakReference]
- });
-
- assert.equal(isWeak(new MixMux()), true,
- "instances with mixed WeakReference that " +
- "inheret from other are weak");
-
-
- const Base = Class({});
- const ReMix = Class({
- extends: Base,
- implements: [MixMux]
- });
-
- assert.equal(isWeak(new ReMix()), true,
- "subtime of mix is still weak");
-};
-
-exports["test an override"] = assert => {
- const SubType = Class({ extends: WeakReference });
- isWeak.define(SubType, x => false);
-
- assert.equal(isWeak(new SubType()), false,
- "behavior of isWeak can still be overrided on subtype");
-
- const Mixer = Class({ implements: [WeakReference] });
- const SubMixer = Class({ extends: Mixer });
- isWeak.define(SubMixer, x => false);
- assert.equal(isWeak(new SubMixer()), false,
- "behavior of isWeak can still be overrided on mixed type");
-};
-
-exports["test an opt-in"] = assert => {
- var BaseType = Class({});
- var SubType = Class({ extends: BaseType });
-
- isWeak.define(SubType, x => true);
- assert.equal(isWeak(new SubType()), true,
- "isWeak can be just implemented");
-
- var x = {};
- isWeak.implement(x, x => true);
- assert.equal(isWeak(x), true,
- "isWeak can be implemented per instance");
-};
-
-require("sdk/test").run(exports);