summaryrefslogtreecommitdiffstats
path: root/dom/indexedDB/test/unit/test_globalObjects_other.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/indexedDB/test/unit/test_globalObjects_other.js')
-rw-r--r--dom/indexedDB/test/unit/test_globalObjects_other.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/dom/indexedDB/test/unit/test_globalObjects_other.js b/dom/indexedDB/test/unit/test_globalObjects_other.js
new file mode 100644
index 000000000..a1338459c
--- /dev/null
+++ b/dom/indexedDB/test/unit/test_globalObjects_other.js
@@ -0,0 +1,60 @@
+/**
+ * Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/
+ */
+
+var testGenerator = testSteps();
+
+function testSteps()
+{
+ let ioService =
+ Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
+
+ function getSpec(filename) {
+ let file = do_get_file(filename);
+ let uri = ioService.newFileURI(file);
+ return uri.spec;
+ }
+
+ // Test for IDBKeyRange and indexedDB availability in JS modules.
+ Cu.import(getSpec("GlobalObjectsModule.jsm"));
+ let test = new GlobalObjectsModule();
+ test.ok = ok;
+ test.finishTest = continueToNextStep;
+ test.runTest();
+ yield undefined;
+
+ // Test for IDBKeyRange and indexedDB availability in JS components.
+ do_load_manifest("GlobalObjectsComponent.manifest");
+ test = Cc["@mozilla.org/dom/indexeddb/GlobalObjectsComponent;1"].
+ createInstance(Ci.nsISupports).wrappedJSObject;
+ test.ok = ok;
+ test.finishTest = continueToNextStep;
+ test.runTest();
+ yield undefined;
+
+ // Test for IDBKeyRange and indexedDB availability in JS sandboxes.
+ let principal = Cc["@mozilla.org/systemprincipal;1"].
+ createInstance(Ci.nsIPrincipal);
+ let sandbox = new Cu.Sandbox(principal,
+ { wantGlobalProperties: ["indexedDB"] });
+ sandbox.__SCRIPT_URI_SPEC__ = getSpec("GlobalObjectsSandbox.js");
+ Cu.evalInSandbox(
+ "Components.classes['@mozilla.org/moz/jssubscript-loader;1'] \
+ .createInstance(Components.interfaces.mozIJSSubScriptLoader) \
+ .loadSubScript(__SCRIPT_URI_SPEC__);", sandbox, "1.7");
+ sandbox.ok = ok;
+ sandbox.finishTest = continueToNextStep;
+ Cu.evalInSandbox("runTest();", sandbox);
+ yield undefined;
+
+ finishTest();
+ yield undefined;
+}
+
+this.runTest = function() {
+ do_get_profile();
+
+ do_test_pending();
+ testGenerator.next();
+}