diff options
Diffstat (limited to 'dom/indexedDB/test/unit/test_globalObjects_other.js')
-rw-r--r-- | dom/indexedDB/test/unit/test_globalObjects_other.js | 54 |
1 files changed, 54 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 0000000000..2687675689 --- /dev/null +++ b/dom/indexedDB/test/unit/test_globalObjects_other.js @@ -0,0 +1,54 @@ +/** + * Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ + +var testGenerator = testSteps(); + +function* testSteps() { + function getSpec(filename) { + let file = do_get_file(filename); + let uri = Services.io.newFileURI(file); + return uri.spec; + } + + // Test for IDBKeyRange and indexedDB availability in JS modules. + const { GlobalObjectsModule } = ChromeUtils.importESModule( + "resource://test/GlobalObjectsModule.sys.mjs" + ); + let test = new GlobalObjectsModule(); + 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(); +}; |