diff options
Diffstat (limited to 'dom/indexedDB/test/unit/test_globalObjects_other.js')
-rw-r--r-- | dom/indexedDB/test/unit/test_globalObjects_other.js | 60 |
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(); +} |