From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- dom/indexedDB/test/extensions/bootstrap.js | 84 +++++++++++++++++++++ .../test/extensions/indexedDB-test@mozilla.org.xpi | Bin 0 -> 5605 bytes dom/indexedDB/test/extensions/install.rdf | 31 ++++++++ dom/indexedDB/test/extensions/moz.build | 16 ++++ 4 files changed, 131 insertions(+) create mode 100644 dom/indexedDB/test/extensions/bootstrap.js create mode 100644 dom/indexedDB/test/extensions/indexedDB-test@mozilla.org.xpi create mode 100644 dom/indexedDB/test/extensions/install.rdf create mode 100644 dom/indexedDB/test/extensions/moz.build (limited to 'dom/indexedDB/test/extensions') diff --git a/dom/indexedDB/test/extensions/bootstrap.js b/dom/indexedDB/test/extensions/bootstrap.js new file mode 100644 index 000000000..357ac462e --- /dev/null +++ b/dom/indexedDB/test/extensions/bootstrap.js @@ -0,0 +1,84 @@ +/** + * Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ + */ + +var Ci = Components.interfaces; +var Cu = Components.utils; + +Cu.import("resource://gre/modules/Services.jsm"); +Cu.import("resource://gre/modules/XPCOMUtils.jsm"); + +function testForExpectedSymbols(stage, data) { + const expectedSymbols = [ "IDBKeyRange", "indexedDB" ]; + for (var symbol of expectedSymbols) { + Services.prefs.setBoolPref("indexeddbtest.bootstrap." + stage + "." + + symbol, symbol in this); + } +} + +function GlobalObjectsComponent() { + this.wrappedJSObject = this; +} + +GlobalObjectsComponent.prototype = +{ + QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports]), + + runTest: function() { + const name = "Splendid Test"; + + let ok = this.ok; + let finishTest = this.finishTest; + + let keyRange = IDBKeyRange.only(42); + ok(keyRange, "Got keyRange"); + + let request = indexedDB.open(name, 1); + request.onerror = function(event) { + ok(false, "indexedDB error, '" + event.target.error.name + "'"); + finishTest(); + } + request.onsuccess = function(event) { + let db = event.target.result; + ok(db, "Got database"); + finishTest(); + } + } +}; + +var gFactory = { + register: function() { + var registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar); + + var classID = Components.ID("{d6f85dcb-537d-447e-b783-75d4b405622d}"); + var description = "IndexedDBTest"; + var contractID = "@mozilla.org/dom/indexeddb/GlobalObjectsComponent;1"; + var factory = XPCOMUtils._getFactory(GlobalObjectsComponent); + + registrar.registerFactory(classID, description, contractID, factory); + + this.unregister = function() { + registrar.unregisterFactory(classID, factory); + delete this.unregister; + }; + } +}; + +function install(data, reason) { + testForExpectedSymbols("install"); +} + +function startup(data, reason) { + testForExpectedSymbols("startup"); + gFactory.register(); +} + +function shutdown(data, reason) { + testForExpectedSymbols("shutdown"); + gFactory.unregister(); +} + +function uninstall(data, reason) { + testForExpectedSymbols("uninstall"); +} diff --git a/dom/indexedDB/test/extensions/indexedDB-test@mozilla.org.xpi b/dom/indexedDB/test/extensions/indexedDB-test@mozilla.org.xpi new file mode 100644 index 000000000..bbe2430e2 Binary files /dev/null and b/dom/indexedDB/test/extensions/indexedDB-test@mozilla.org.xpi differ diff --git a/dom/indexedDB/test/extensions/install.rdf b/dom/indexedDB/test/extensions/install.rdf new file mode 100644 index 000000000..e7afc68d6 --- /dev/null +++ b/dom/indexedDB/test/extensions/install.rdf @@ -0,0 +1,31 @@ + + + + + + IndexedDBTest + IndexedDB functions for use in testing. + Mozilla + 2016.03.09 + indexedDB-test@mozilla.org + 2 + true + + + + {ec8030f7-c20a-464f-9b0e-13a3a9e97384} + 45.0 + * + + + + + + {aa3c5121-dab2-40e2-81ca-7ea25febc110} + 45.0 + * + + + + diff --git a/dom/indexedDB/test/extensions/moz.build b/dom/indexedDB/test/extensions/moz.build new file mode 100644 index 000000000..a810e8a9e --- /dev/null +++ b/dom/indexedDB/test/extensions/moz.build @@ -0,0 +1,16 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +XPI_NAME = 'indexedDB' + +FINAL_TARGET_FILES += [ + 'bootstrap.js', + 'install.rdf', +] + +TEST_HARNESS_FILES.testing.mochitest.extensions += [ + 'indexedDB-test@mozilla.org.xpi', +] -- cgit v1.2.3