summaryrefslogtreecommitdiffstats
path: root/browser/components/search/test/browser_aboutSearchReset.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/search/test/browser_aboutSearchReset.js')
-rw-r--r--browser/components/search/test/browser_aboutSearchReset.js159
1 files changed, 0 insertions, 159 deletions
diff --git a/browser/components/search/test/browser_aboutSearchReset.js b/browser/components/search/test/browser_aboutSearchReset.js
deleted file mode 100644
index 64376d6da..000000000
--- a/browser/components/search/test/browser_aboutSearchReset.js
+++ /dev/null
@@ -1,159 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/
- */
-
-const TELEMETRY_RESULT_ENUM = {
- RESTORED_DEFAULT: 0,
- KEPT_CURRENT: 1,
- CHANGED_ENGINE: 2,
- CLOSED_PAGE: 3,
- OPENED_SETTINGS: 4
-};
-
-const kSearchStr = "a search";
-const kSearchPurpose = "searchbar";
-
-const kTestEngine = "testEngine.xml";
-
-function checkTelemetryRecords(expectedValue) {
- let histogram = Services.telemetry.getHistogramById("SEARCH_RESET_RESULT");
- let snapshot = histogram.snapshot();
- // The probe is declared with 5 values, but we get 6 back from .counts
- let expectedCounts = [0, 0, 0, 0, 0, 0];
- if (expectedValue != null) {
- expectedCounts[expectedValue] = 1;
- }
- Assert.deepEqual(snapshot.counts, expectedCounts,
- "histogram has expected content");
- histogram.clear();
-}
-
-function promiseStoppedLoad(expectedURL) {
- return new Promise(resolve => {
- let browser = gBrowser.selectedBrowser;
- let original = browser.loadURIWithFlags;
- browser.loadURIWithFlags = function(URI) {
- if (URI == expectedURL) {
- browser.loadURIWithFlags = original;
- ok(true, "loaded expected url: " + URI);
- resolve();
- return;
- }
-
- original.apply(browser, arguments);
- };
- });
-}
-
-var gTests = [
-
-{
- desc: "Test the 'Keep Current Settings' button.",
- run: function* () {
- let engine = yield promiseNewEngine(kTestEngine, {setAsCurrent: true});
-
- let expectedURL = engine.
- getSubmission(kSearchStr, null, kSearchPurpose).
- uri.spec;
-
- let rawEngine = engine.wrappedJSObject;
- let initialHash = rawEngine.getAttr("loadPathHash");
- rawEngine.setAttr("loadPathHash", "broken");
-
- let loadPromise = promiseStoppedLoad(expectedURL);
- gBrowser.contentDocument.getElementById("searchResetKeepCurrent").click();
- yield loadPromise;
-
- is(engine, Services.search.currentEngine,
- "the custom engine is still default");
- is(rawEngine.getAttr("loadPathHash"), initialHash,
- "the loadPathHash has been fixed");
-
- checkTelemetryRecords(TELEMETRY_RESULT_ENUM.KEPT_CURRENT);
- }
-},
-
-{
- desc: "Test the 'Restore Search Defaults' button.",
- run: function* () {
- let currentEngine = Services.search.currentEngine;
- let originalEngine = Services.search.originalDefaultEngine;
- let doc = gBrowser.contentDocument;
- let defaultEngineSpan = doc.getElementById("defaultEngine");
- is(defaultEngineSpan.textContent, originalEngine.name,
- "the name of the original default engine is displayed");
-
- let expectedURL = originalEngine.
- getSubmission(kSearchStr, null, kSearchPurpose).
- uri.spec;
- let loadPromise = promiseStoppedLoad(expectedURL);
- let button = doc.getElementById("searchResetChangeEngine");
- is(doc.activeElement, button,
- "the 'Change Search Engine' button is focused");
- button.click();
- yield loadPromise;
-
- is(originalEngine, Services.search.currentEngine,
- "the default engine is back to the original one");
-
- checkTelemetryRecords(TELEMETRY_RESULT_ENUM.RESTORED_DEFAULT);
- Services.search.currentEngine = currentEngine;
- }
-},
-
-{
- desc: "Click the settings link.",
- run: function* () {
- let loadPromise = BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser,
- false,
- "about:preferences#search")
- gBrowser.contentDocument.getElementById("linkSettingsPage").click();
- yield loadPromise;
-
- checkTelemetryRecords(TELEMETRY_RESULT_ENUM.OPENED_SETTINGS);
- }
-},
-
-{
- desc: "Load another page without clicking any of the buttons.",
- run: function* () {
- yield promiseTabLoadEvent(gBrowser.selectedTab, "about:mozilla");
-
- checkTelemetryRecords(TELEMETRY_RESULT_ENUM.CLOSED_PAGE);
- }
-},
-
-];
-
-function test()
-{
- waitForExplicitFinish();
- Task.spawn(function* () {
- let oldCanRecord = Services.telemetry.canRecordExtended;
- Services.telemetry.canRecordExtended = true;
- checkTelemetryRecords();
-
- for (let test of gTests) {
- info(test.desc);
-
- // Create a tab to run the test.
- let tab = gBrowser.selectedTab = gBrowser.addTab("about:blank");
-
- // Start loading about:searchreset and wait for it to complete.
- let url = "about:searchreset?data=" + encodeURIComponent(kSearchStr) +
- "&purpose=" + kSearchPurpose;
- yield promiseTabLoadEvent(tab, url);
-
- info("Running test");
- yield test.run();
-
- info("Cleanup");
- gBrowser.removeCurrentTab();
- }
-
- Services.telemetry.canRecordExtended = oldCanRecord;
- }).then(finish, ex => {
- ok(false, "Unexpected Exception: " + ex);
- finish();
- });
-}