Bumping manifests a=b2g-bump
[gecko.git] / docshell / test / browser / browser_uriFixupIntegration.js
blob765954091dfff64e2fcc2481a86dd64ca3f16216
1 /* Any copyright is dedicated to the Public Domain.
2  * http://creativecommons.org/publicdomain/zero/1.0/ */
4 const Cc = Components.classes;
5 const Ci = Components.interfaces;
7 const kSearchEngineID = "browser_urifixup_search_engine";
8 const kSearchEngineURL = "http://example.com/?search={searchTerms}";
9 Services.search.addEngineWithDetails(kSearchEngineID, "", "", "", "get",
10                                      kSearchEngineURL);
12 let oldDefaultEngine = Services.search.defaultEngine;
13 Services.search.defaultEngine = Services.search.getEngineByName(kSearchEngineID);
15 let tab;
16 let searchParams;
18 function checkURL() {
19   let escapedParams = encodeURIComponent(searchParams).replace("%20", "+");
20   let expectedURL = kSearchEngineURL.replace("{searchTerms}", escapedParams);
21   is(tab.linkedBrowser.currentURI.spec, expectedURL,
22      "New tab should have loaded with expected url.");
25 function addPageShowListener(aFunc) {
26   gBrowser.selectedBrowser.addEventListener("pageshow", function loadListener() {
27     gBrowser.selectedBrowser.removeEventListener("pageshow", loadListener, false);
28     aFunc();
29   });
32 function locationBarEnter(aCallback) {
33   executeSoon(function() {
34     gURLBar.focus();
35     EventUtils.synthesizeKey("VK_RETURN", {});
36     addPageShowListener(aCallback);
37   });
40 let urlbarInput = [
41   "foo bar",
42   "brokenprotocol:somethingelse"
44 function test() {
45   waitForExplicitFinish();
47   nextTest();
50 function nextTest() {
51   searchParams = urlbarInput.pop();
52   tab = gBrowser.selectedTab = gBrowser.addTab();
54   gURLBar.value = searchParams;
55   locationBarEnter(function() {
56     checkURL();
57     gBrowser.removeTab(tab);
58     tab = null;
59     if (urlbarInput.length) {
60       nextTest();
61     } else {
62       finish();
63     }
64   });
67 registerCleanupFunction(function () {
68   if (tab) {
69     gBrowser.removeTab(tab);
70   }
72   if (oldDefaultEngine) {
73     Services.search.defaultEngine = oldDefaultEngine;
74   }
75   let engine = Services.search.getEngineByName(kSearchEngineID);
76   if (engine) {
77     Services.search.removeEngine(engine);
78   }
79 });