summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/test/test-preferences-target.js
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /addon-sdk/source/test/test-preferences-target.js
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'addon-sdk/source/test/test-preferences-target.js')
-rw-r--r--addon-sdk/source/test/test-preferences-target.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/addon-sdk/source/test/test-preferences-target.js b/addon-sdk/source/test/test-preferences-target.js
new file mode 100644
index 000000000..a534bc7ab
--- /dev/null
+++ b/addon-sdk/source/test/test-preferences-target.js
@@ -0,0 +1,42 @@
+/* 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 { PrefsTarget } = require('sdk/preferences/event-target');
+const { get, set, reset } = require('sdk/preferences/service');
+const { Loader } = require('sdk/test/loader');
+const { setTimeout } = require('sdk/timers');
+
+const root = PrefsTarget();
+
+exports.testPrefsTarget = function(assert, done) {
+ let loader = Loader(module);
+ let pt = loader.require('sdk/preferences/event-target').PrefsTarget({});
+ let name = 'test';
+
+ assert.equal(get(name, ''), '', 'test pref is blank');
+
+ pt.once(name, function() {
+ assert.equal(pt.prefs[name], 2, 'test pref is 2');
+
+ pt.once(name, function() {
+ assert.fail('should not have heard a pref change');
+ });
+ loader.unload();
+ root.once(name, function() {
+ assert.pass('test pref was changed');
+ reset(name);
+
+ // NOTE: using setTimeout to make sure that the other listener had
+ // a chance to fail
+ // end test
+ setTimeout(done);
+ });
+ set(name, 3);
+ });
+
+ pt.prefs[name] = 2;
+};
+
+require('sdk/test').run(exports);