summaryrefslogtreecommitdiffstats
path: root/dom/settings/tests/test_settings_service_callback.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/settings/tests/test_settings_service_callback.js')
-rw-r--r--dom/settings/tests/test_settings_service_callback.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/dom/settings/tests/test_settings_service_callback.js b/dom/settings/tests/test_settings_service_callback.js
new file mode 100644
index 000000000..a780bb9c3
--- /dev/null
+++ b/dom/settings/tests/test_settings_service_callback.js
@@ -0,0 +1,47 @@
+"use strict";
+
+var Cu = Components.utils;
+var Cc = Components.classes;
+var Ci = Components.interfaces;
+
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+Cu.import("resource://gre/modules/Services.jsm");
+
+SimpleTest.waitForExplicitFinish();
+
+XPCOMUtils.defineLazyServiceGetter(this, "SettingsService",
+ "@mozilla.org/settingsService;1",
+ "nsISettingsService");
+
+var tests = [
+ function () {
+ let callback = {
+ handle: function() {
+ ok(true, "handle called!");
+ next();
+ },
+
+ handleAbort: function(name) {
+ ok(false, "error: " + name);
+ next();
+ }
+ }
+ let lock = SettingsService.createLock(callback);
+ lock.set("xasdf", true, null, null);
+ }
+];
+
+function next() {
+ let step = tests.shift();
+ if (step) {
+ try {
+ step();
+ } catch(e) {
+ ok(false, "Test threw: " + e);
+ }
+ } else {
+ SimpleTest.finish();
+ }
+}
+
+next();