4 var searchBar = BrowserSearch.searchBar;
5 var searchButton = document.getAnonymousElementByAttribute(searchBar,
6 "anonid",
"search-go-button");
7 ok(searchButton,
"got search-go-button");
9 searchBar.value =
"test";
10 var preSelectedBrowser, preTabNo;
13 preSelectedBrowser = gBrowser.selectedBrowser;
14 preTabNo = gBrowser.mTabs.length;
20 function testReturn() {
22 EventUtils.synthesizeKey(
"VK_RETURN", {});
23 doOnloadOnce(
function(
event) {
25 is(gBrowser.mTabs.length, preTabNo,
"Return key did not open new tab");
26 is(
event.originalTarget, preSelectedBrowser.contentDocument,
27 "Return key loaded results in current tab");
33 function testAltReturn() {
35 EventUtils.synthesizeKey(
"VK_RETURN", { altKey:
true });
36 doOnloadOnce(
function(
event) {
38 is(gBrowser.mTabs.length, preTabNo + 1,
"Alt+Return key added new tab");
39 isnot(
event.originalTarget, preSelectedBrowser.contentDocument,
40 "Alt+Return key loaded results in new tab");
41 is(
event.originalTarget, gBrowser.selectedBrowser.contentDocument,
42 "Alt+Return key loaded results in foreground tab");
50 function testShiftAltReturn() {
52 EventUtils.synthesizeKey(
"VK_RETURN", { shiftKey:
true, altKey:
true });
53 doOnloadOnce(
function(
event) {
55 is(gBrowser.mTabs.length, preTabNo + 1,
"Shift+Alt+Return key added new tab");
56 isnot(
event.originalTarget, preSelectedBrowser.contentDocument,
57 "Shift+Alt+Return key loaded results in new tab");
58 isnot(
event.originalTarget, gBrowser.selectedBrowser.contentDocument,
59 "Shift+Alt+Return key loaded results in background tab");
65 function testLeftClick() {
67 simulateClick({ button: 0 }, searchButton);
68 doOnloadOnce(
function(
event) {
70 is(gBrowser.mTabs.length, preTabNo,
"LeftClick did not open new tab");
71 is(
event.originalTarget, preSelectedBrowser.contentDocument,
72 "LeftClick loaded results in current tab");
78 function testMiddleClick() {
80 simulateClick({ button: 1 }, searchButton);
81 doOnloadOnce(
function(
event) {
83 is(gBrowser.mTabs.length, preTabNo + 1,
"MiddleClick added new tab");
84 isnot(
event.originalTarget, preSelectedBrowser.contentDocument,
85 "MiddleClick loaded results in new tab");
86 is(
event.originalTarget, gBrowser.selectedBrowser.contentDocument,
87 "MiddleClick loaded results in foreground tab");
89 testShiftMiddleClick();
93 function testShiftMiddleClick() {
95 simulateClick({ button: 1, shiftKey:
true }, searchButton);
96 doOnloadOnce(
function(
event) {
98 is(gBrowser.mTabs.length, preTabNo + 1,
"Shift+MiddleClick added new tab");
99 isnot(
event.originalTarget, preSelectedBrowser.contentDocument,
100 "Shift+MiddleClick loaded results in new tab");
101 isnot(
event.originalTarget, gBrowser.selectedBrowser.contentDocument,
102 "Shift+MiddleClick loaded results in background tab");
108 function testRightClick() {
110 gBrowser.selectedBrowser.contentWindow.location.href =
"about:blank";
111 simulateClick({ button: 2 }, searchButton);
114 is(gBrowser.mTabs.length, preTabNo,
"RightClick did not open new tab");
115 is(gBrowser.currentURI.spec,
"about:blank",
"RightClick did nothing");
121 function finalize() {
122 searchBar.value =
"";
123 while (gBrowser.mTabs.length != 1) {
124 gBrowser.removeTab(gBrowser.mTabs[0]);
126 gBrowser.selectedBrowser.contentWindow.location.href =
"about:blank";
131 gBrowser.addEventListener(
"DOMContentLoaded",
function(
event) {
132 gBrowser.removeEventListener(
"DOMContentLoaded",
arguments.callee,
true);
137 function simulateClick(aEvent, aTarget) {
138 var
event = document.createEvent(
"MouseEvent");
139 var ctrlKeyArg = aEvent.ctrlKey ||
false;
140 var altKeyArg = aEvent.altKey ||
false;
141 var shiftKeyArg = aEvent.shiftKey ||
false;
142 var metaKeyArg = aEvent.metaKey ||
false;
143 var buttonArg = aEvent.button || 0;
144 event.initMouseEvent(
"click",
true,
true,
window,
146 ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg,
148 aTarget.dispatchEvent(
event);
aWindow setTimeout(function(){_this.restoreHistory(aWindow, aTabs, aTabData, aIdMap);}, 0)
return!aWindow arguments!aWindow arguments[0]