Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /**
2 * Any copyright is dedicated to the Public Domain.
3 * http://creativecommons.org/publicdomain/zero/1.0/
4 **/
6 var gTests = [
7 {
8 name: "normal search (search service)",
9 testText: "test search",
10 searchURL: Services.search.defaultEngine.getSubmission("test search", null, "keyword").uri.spec
11 },
12 {
13 name: "?-prefixed search (search service)",
14 testText: "? foo ",
15 searchURL: Services.search.defaultEngine.getSubmission("foo", null, "keyword").uri.spec
16 }
17 ];
19 function test() {
20 waitForExplicitFinish();
22 let windowObserver = {
23 observe: function(aSubject, aTopic, aData) {
24 if (aTopic == "domwindowopened") {
25 ok(false, "Alert window opened");
26 let win = aSubject.QueryInterface(Ci.nsIDOMEventTarget);
27 win.addEventListener("load", function() {
28 win.removeEventListener("load", arguments.callee, false);
29 win.close();
30 }, false);
31 executeSoon(finish);
32 }
33 }
34 };
36 Services.ww.registerNotification(windowObserver);
38 let tab = gBrowser.selectedTab = gBrowser.addTab();
40 let listener = {
41 onStateChange: function onLocationChange(webProgress, req, flags, status) {
42 // Only care about document starts
43 let docStart = Ci.nsIWebProgressListener.STATE_IS_DOCUMENT |
44 Ci.nsIWebProgressListener.STATE_START;
45 if (!(flags & docStart))
46 return;
48 info("received document start");
50 ok(req instanceof Ci.nsIChannel, "req is a channel");
51 is(req.originalURI.spec, gCurrTest.searchURL, "search URL was loaded");
52 info("Actual URI: " + req.URI.spec);
54 req.cancel(Components.results.NS_ERROR_FAILURE);
56 executeSoon(nextTest);
57 }
58 };
59 gBrowser.addProgressListener(listener);
61 registerCleanupFunction(function () {
62 Services.ww.unregisterNotification(windowObserver);
64 gBrowser.removeProgressListener(listener);
65 gBrowser.removeTab(tab);
66 });
68 nextTest();
69 }
71 var gCurrTest;
72 function nextTest() {
73 if (gTests.length) {
74 gCurrTest = gTests.shift();
75 doTest();
76 } else {
77 finish();
78 }
79 }
81 function doTest() {
82 info("Running test: " + gCurrTest.name);
84 // Simulate a user entering search terms
85 gURLBar.value = gCurrTest.testText;
86 gURLBar.focus();
87 EventUtils.synthesizeKey("VK_RETURN", {});
88 }