/** * 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(); }