1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
- /* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
- // Check that basic keyboard shortcuts work in the web console.
- "use strict";
- add_task(function* () {
- const TEST_URI = "http://example.com/browser/devtools/client/webconsole/" +
- "test/test-console.html";
- yield loadTab(TEST_URI);
- let hud = yield openConsole();
- ok(hud, "Web Console opened");
- info("dump some spew into the console for scrolling");
- hud.jsterm.execute("(function() { for (var i = 0; i < 100; i++) { " +
- "console.log('foobarz' + i);" +
- "}})();");
- yield waitForMessages({
- webconsole: hud,
- messages: [{
- text: "foobarz99",
- category: CATEGORY_WEBDEV,
- severity: SEVERITY_LOG,
- }],
- });
- let currentPosition = hud.ui.outputWrapper.scrollTop;
- let bottom = currentPosition;
- EventUtils.synthesizeKey("VK_PAGE_UP", {});
- isnot(hud.ui.outputWrapper.scrollTop, currentPosition,
- "scroll position changed after page up");
- currentPosition = hud.ui.outputWrapper.scrollTop;
- EventUtils.synthesizeKey("VK_PAGE_DOWN", {});
- ok(hud.ui.outputWrapper.scrollTop > currentPosition,
- "scroll position now at bottom");
- EventUtils.synthesizeKey("VK_HOME", {});
- is(hud.ui.outputWrapper.scrollTop, 0, "scroll position now at top");
- EventUtils.synthesizeKey("VK_END", {});
- let scrollTop = hud.ui.outputWrapper.scrollTop;
- ok(scrollTop > 0 && Math.abs(scrollTop - bottom) <= 5,
- "scroll position now at bottom");
- info("try ctrl-l to clear output");
- executeSoon(() => {
- let clearShortcut;
- if (Services.appinfo.OS === "Darwin") {
- clearShortcut = WCUL10n.getStr("webconsole.clear.keyOSX");
- } else {
- clearShortcut = WCUL10n.getStr("webconsole.clear.key");
- }
- synthesizeKeyShortcut(clearShortcut);
- });
- yield hud.jsterm.once("messages-cleared");
- is(hud.outputNode.textContent.indexOf("foobarz1"), -1, "output cleared");
- is(hud.jsterm.inputNode.getAttribute("focused"), "true",
- "jsterm input is focused");
- info("try ctrl-f to focus filter");
- synthesizeKeyShortcut(WCUL10n.getStr("webconsole.find.key"));
- ok(!hud.jsterm.inputNode.getAttribute("focused"),
- "jsterm input is not focused");
- is(hud.ui.filterBox.getAttribute("focused"), "true",
- "filter input is focused");
- if (Services.appinfo.OS == "Darwin") {
- ok(hud.ui.getFilterState("network"), "network category is enabled");
- EventUtils.synthesizeKey("t", { ctrlKey: true });
- ok(!hud.ui.getFilterState("network"), "accesskey for Network works");
- EventUtils.synthesizeKey("t", { ctrlKey: true });
- ok(hud.ui.getFilterState("network"), "accesskey for Network works (again)");
- } else {
- EventUtils.synthesizeKey("N", { altKey: true });
- let net = hud.ui.document.querySelector("toolbarbutton[category=net]");
- is(hud.ui.document.activeElement, net,
- "accesskey for Network category focuses the Net button");
- }
- });
|