summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/test/test-test-memory.js
diff options
context:
space:
mode:
Diffstat (limited to 'addon-sdk/source/test/test-test-memory.js')
-rw-r--r--addon-sdk/source/test/test-test-memory.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/addon-sdk/source/test/test-test-memory.js b/addon-sdk/source/test/test-test-memory.js
new file mode 100644
index 000000000..0f53fae8c
--- /dev/null
+++ b/addon-sdk/source/test/test-test-memory.js
@@ -0,0 +1,25 @@
+/* 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 { Cc, Ci, Cu, components } = require('chrome');
+const { gc } = require('sdk/test/memory');
+
+exports.testGC = function*(assert) {
+ let weakref;
+
+ if (true) {
+ let tempObj = {};
+ weakref = Cu.getWeakReference(tempObj);
+ assert.equal(weakref.get(), tempObj, 'the weakref returned the tempObj');
+ }
+
+ let arg = yield gc();
+
+ assert.equal(arg, undefined, 'there is no argument');
+ assert.pass('gc() returns a promise which eventually resolves');
+ assert.equal(weakref.get(), undefined, 'the weakref returned undefined');
+};
+
+require('sdk/test').run(exports);