diff options
Diffstat (limited to 'browser/components/preferences/in-content/tests/browser_advanced_update.js')
-rw-r--r-- | browser/components/preferences/in-content/tests/browser_advanced_update.js | 158 |
1 files changed, 0 insertions, 158 deletions
diff --git a/browser/components/preferences/in-content/tests/browser_advanced_update.js b/browser/components/preferences/in-content/tests/browser_advanced_update.js deleted file mode 100644 index e9d0e8652..000000000 --- a/browser/components/preferences/in-content/tests/browser_advanced_update.js +++ /dev/null @@ -1,158 +0,0 @@ -/* Any copyright is dedicated to the Public Domain. - * http://creativecommons.org/publicdomain/zero/1.0/ */ - -"use strict"; - -const { classes: Cc, interfaces: Ci, manager: Cm, utils: Cu, results: Cr } = Components; - -Cu.import('resource://gre/modules/XPCOMUtils.jsm'); - -const uuidGenerator = Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator); - -const mockUpdateManager = { - contractId: "@mozilla.org/updates/update-manager;1", - - _mockClassId: uuidGenerator.generateUUID(), - - _originalClassId: "", - - _originalFactory: null, - - QueryInterface: XPCOMUtils.generateQI([Ci.nsIUpdateManager]), - - createInstance: function(outer, iiD) { - if (outer) { - throw Cr.NS_ERROR_NO_AGGREGATION; - } - return this.QueryInterface(iiD); - }, - - register: function () { - let registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar); - if (!registrar.isCIDRegistered(this._mockClassId)) { - this._originalClassId = registrar.contractIDToCID(this.contractId); - this._originalFactory = Cm.getClassObject(Cc[this.contractId], Ci.nsIFactory); - registrar.unregisterFactory(this._originalClassId, this._originalFactory); - registrar.registerFactory(this._mockClassId, "Unregister after testing", this.contractId, this); - } - }, - - unregister: function () { - let registrar = Cm.QueryInterface(Ci.nsIComponentRegistrar); - registrar.unregisterFactory(this._mockClassId, this); - registrar.registerFactory(this._originalClassId, "", this.contractId, this._originalFactory); - }, - - get updateCount() { - return this._updates.length; - }, - - getUpdateAt: function (index) { - return this._updates[index]; - }, - - _updates: [ - { - name: "Firefox Developer Edition 49.0a2", - statusText: "The Update was successfully installed", - buildID: "20160728004010", - type: "minor", - installDate: 1469763105156, - detailsURL: "https://www.mozilla.org/firefox/aurora/" - }, - { - name: "Firefox Developer Edition 43.0a2", - statusText: "The Update was successfully installed", - buildID: "20150929004011", - type: "minor", - installDate: 1443585886224, - detailsURL: "https://www.mozilla.org/firefox/aurora/" - }, - { - name: "Firefox Developer Edition 42.0a2", - statusText: "The Update was successfully installed", - buildID: "20150920004018", - type: "major", - installDate: 1442818147544, - detailsURL: "https://www.mozilla.org/firefox/aurora/" - } - ] -}; - -function resetPreferences() { - Services.prefs.clearUserPref("browser.search.update"); -} - -function formatInstallDate(sec) { - var date = new Date(sec); - const locale = Cc["@mozilla.org/chrome/chrome-registry;1"] - .getService(Ci.nsIXULChromeRegistry) - .getSelectedLocale("global", true); - const dtOptions = { year: 'numeric', month: 'long', day: 'numeric', - hour: 'numeric', minute: 'numeric', second: 'numeric' }; - return date.toLocaleString(locale, dtOptions); -} - -registerCleanupFunction(resetPreferences); - -add_task(function*() { - yield openPreferencesViaOpenPreferencesAPI("advanced", "updateTab", { leaveOpen: true }); - resetPreferences(); - Services.prefs.setBoolPref("browser.search.update", false); - - let doc = gBrowser.selectedBrowser.contentDocument; - let enableSearchUpdate = doc.getElementById("enableSearchUpdate"); - is_element_visible(enableSearchUpdate, "Check search update preference is visible"); - - // Ensure that the update pref dialog reflects the actual pref value. - ok(!enableSearchUpdate.checked, "Ensure search updates are disabled"); - Services.prefs.setBoolPref("browser.search.update", true); - ok(enableSearchUpdate.checked, "Ensure search updates are enabled"); - - gBrowser.removeCurrentTab(); -}); - -add_task(function*() { - mockUpdateManager.register(); - - yield openPreferencesViaOpenPreferencesAPI("advanced", "updateTab", { leaveOpen: true }); - let doc = gBrowser.selectedBrowser.contentDocument; - - let showBtn = doc.getElementById("showUpdateHistory"); - let dialogOverlay = doc.getElementById("dialogOverlay"); - - // Test the dialog window opens - is(dialogOverlay.style.visibility, "", "The dialog should be invisible"); - showBtn.doCommand(); - yield promiseLoadSubDialog("chrome://mozapps/content/update/history.xul"); - is(dialogOverlay.style.visibility, "visible", "The dialog should be visible"); - - let dialogFrame = doc.getElementById("dialogFrame"); - let frameDoc = dialogFrame.contentDocument; - let updates = frameDoc.querySelectorAll("update"); - - // Test the update history numbers are correct - is(updates.length, mockUpdateManager.updateCount, "The update count is incorrect."); - - // Test the updates are displayed correctly - let update = null; - let updateData = null; - for (let i = 0; i < updates.length; ++i) { - update = updates[i]; - updateData = mockUpdateManager.getUpdateAt(i); - - is(update.name, updateData.name + " (" + updateData.buildID + ")", "Wrong update name"); - is(update.type, updateData.type == "major" ? "New Version" : "Security Update", "Wrong update type"); - is(update.installDate, formatInstallDate(updateData.installDate), "Wrong update installDate"); - is(update.detailsURL, updateData.detailsURL, "Wrong update detailsURL"); - is(update.status, updateData.statusText, "Wrong update status"); - } - - // Test the dialog window closes - let closeBtn = doc.getElementById("dialogClose"); - closeBtn.doCommand(); - is(dialogOverlay.style.visibility, "", "The dialog should be invisible"); - - mockUpdateManager.unregister(); - gBrowser.removeCurrentTab(); -}); |