mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
133 lines
5.0 KiB
JavaScript
133 lines
5.0 KiB
JavaScript
/* vim: set ts=2 et sw=2 tw=80: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
"use strict";
|
|
|
|
function test() {
|
|
runTests();
|
|
}
|
|
|
|
gTests.push({
|
|
desc: "Access the find bar with the keyboard",
|
|
run: function() {
|
|
let tab = yield addTab(chromeRoot + "browser_findbar.html");
|
|
yield waitForCondition(() => BrowserUI.ready);
|
|
is(Elements.findbar.isShowing, false, "Find bar is hidden by default");
|
|
|
|
EventUtils.synthesizeKey("f", { accelKey: true });
|
|
yield waitForEvent(Elements.findbar, "transitionend");
|
|
is(Elements.findbar.isShowing, true, "Show find bar with Ctrl-F");
|
|
|
|
let textbox = document.getElementById("findbar-textbox");
|
|
is(textbox.value, "", "Find bar is empty");
|
|
|
|
EventUtils.sendString("bar");
|
|
is(textbox.value, "bar", "Type 'bar' into find bar");
|
|
|
|
EventUtils.synthesizeKey("f", { accelKey: true});
|
|
yield waitForEvent(Elements.findbar, "transitionend");
|
|
ok(document.commandDispatcher.focusedElement, textbox.inputField, "textbox field is focused with Ctrl-F");
|
|
is(textbox.selectionStart, 0, "textbox field is selected with Ctrl-F.");
|
|
is(textbox.selectionEnd, textbox.value.length, "textbox field is selected with Ctrl-F.");
|
|
|
|
EventUtils.synthesizeKey("VK_ESCAPE", { accelKey: true });
|
|
yield waitForEvent(Elements.findbar, "transitionend");
|
|
is(Elements.findbar.isShowing, false, "Hide find bar with Esc");
|
|
|
|
Browser.closeTab(tab);
|
|
}
|
|
});
|
|
|
|
gTests.push({
|
|
desc: "Findbar/navbar interaction",
|
|
run: function() {
|
|
let tab = yield addTab(chromeRoot + "browser_findbar.html");
|
|
yield waitForCondition(() => BrowserUI.ready);
|
|
is(ContextUI.navbarVisible, false, "Navbar is hidden by default");
|
|
is(Elements.findbar.isShowing, false, "Find bar is hidden by default");
|
|
|
|
yield showNavBar();
|
|
is(ContextUI.navbarVisible, true, "Navbar is visible");
|
|
is(Elements.findbar.isShowing, false, "Find bar is still hidden");
|
|
|
|
EventUtils.synthesizeKey("f", { accelKey: true });
|
|
yield Promise.all(waitForEvent(Elements.navbar, "transitionend"),
|
|
waitForEvent(Elements.findbar, "transitionend"));
|
|
is(ContextUI.navbarVisible, false, "Navbar is hidden");
|
|
is(Elements.findbar.isShowing, true, "Findbar is visible");
|
|
|
|
yield Promise.all(showNavBar(),
|
|
waitForEvent(Elements.findbar, "transitionend"));
|
|
is(ContextUI.navbarVisible, true, "Navbar is visible again");
|
|
is(Elements.findbar.isShowing, false, "Find bar is hidden again");
|
|
|
|
Browser.closeTab(tab);
|
|
}
|
|
});
|
|
|
|
|
|
gTests.push({
|
|
desc: "Show and hide the find bar with mouse",
|
|
run: function() {
|
|
let tab = yield addTab(chromeRoot + "browser_findbar.html");
|
|
yield waitForCondition(() => BrowserUI.ready);
|
|
is(Elements.findbar.isShowing, false, "Find bar is hidden by default");
|
|
|
|
yield showNavBar();
|
|
EventUtils.sendMouseEvent({ type: "click" }, "menu-button");
|
|
EventUtils.sendMouseEvent({ type: "click" }, "context-findinpage");
|
|
yield waitForEvent(Elements.findbar, "transitionend");
|
|
is(Elements.findbar.isShowing, true, "Show find bar with menu item");
|
|
|
|
EventUtils.synthesizeMouse(document.getElementById("findbar-close-button"), 1, 1, {});
|
|
yield waitForEvent(Elements.findbar, "transitionend");
|
|
is(Elements.findbar.isShowing, false, "Hide find bar with close button");
|
|
|
|
Browser.closeTab(tab);
|
|
}
|
|
});
|
|
|
|
gTests.push({
|
|
desc: "Text at bottom of screen is not obscured by findbar",
|
|
run: function() {
|
|
let textbox = document.getElementById("findbar-textbox");
|
|
|
|
let tab = yield addTab(chromeRoot + "browser_findbar.html");
|
|
yield waitForCondition(() => BrowserUI.ready);
|
|
is(Elements.findbar.isShowing, false, "Find bar is hidden by default");
|
|
|
|
FindHelperUI.show();
|
|
yield waitForCondition(() => FindHelperUI.isActive);
|
|
|
|
EventUtils.sendString("bottom");
|
|
let event = yield waitForEvent(window, "MozDeckOffsetChanged");
|
|
ok(!(event instanceof Error), "MozDeckOffsetChanged received (1)");
|
|
ok(event.detail > 0, "Browser deck shifted upward");
|
|
|
|
textbox.select();
|
|
EventUtils.sendString("bar");
|
|
event = yield waitForEvent(window, "MozDeckOffsetChanged");
|
|
ok(!(event instanceof Error), "MozDeckOffsetChanged received (2)");
|
|
is(event.detail, 0, "Browser deck shifted back to normal");
|
|
|
|
textbox.select();
|
|
EventUtils.sendString("bottom");
|
|
event = yield waitForEvent(window, "MozDeckOffsetChanged");
|
|
ok(!(event instanceof Error), "MozDeckOffsetChanged received (3)");
|
|
ok(event.detail > 0, "Browser deck shifted upward again");
|
|
|
|
let waitForDeckOffset = waitForEvent(window, "MozDeckOffsetChanged");
|
|
let waitForTransitionEnd = waitForEvent(Elements.findbar, "transitionend");
|
|
FindHelperUI.hide();
|
|
event = yield waitForDeckOffset;
|
|
ok(!(event instanceof Error), "MozDeckOffsetChanged received (4)");
|
|
is(event.detail, 0, "Browser deck shifted back to normal when findbar hides");
|
|
|
|
// Cleanup.
|
|
yield waitForTransitionEnd;
|
|
Browser.closeTab(tab);
|
|
}
|
|
});
|