summaryrefslogtreecommitdiffstats
path: root/browser/components/preferences/in-content/tests/browser_advanced_update.js
diff options
context:
space:
mode:
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.js158
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();
-});