mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 15:28:39 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
|
|
@ -0,0 +1,330 @@
|
|||
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
|
||||
/* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
/**
|
||||
* Tests basic search functionality (find token and jump to line).
|
||||
*/
|
||||
|
||||
const TAB_URL = EXAMPLE_URL + "doc_recursion-stack.html";
|
||||
|
||||
var gTab, gPanel, gDebugger;
|
||||
var gEditor, gSources, gFiltering, gSearchBox;
|
||||
|
||||
function test() {
|
||||
let options = {
|
||||
source: TAB_URL,
|
||||
line: 1
|
||||
};
|
||||
initDebugger(TAB_URL, options).then(([aTab,, aPanel]) => {
|
||||
gTab = aTab;
|
||||
gPanel = aPanel;
|
||||
gDebugger = gPanel.panelWin;
|
||||
gEditor = gDebugger.DebuggerView.editor;
|
||||
gSources = gDebugger.DebuggerView.Sources;
|
||||
gFiltering = gDebugger.DebuggerView.Filtering;
|
||||
gSearchBox = gDebugger.DebuggerView.Filtering._searchbox;
|
||||
|
||||
performTest();
|
||||
});
|
||||
}
|
||||
|
||||
function performTest() {
|
||||
// Make sure that the search box becomes focused when pressing ctrl+f - Bug 1211038
|
||||
gEditor.focus();
|
||||
synthesizeKeyFromKeyTag(gDebugger.document.getElementById("tokenSearchKey"));
|
||||
let focusedEl = Services.focus.focusedElement;
|
||||
focusedEl = focusedEl.ownerDocument.getBindingParent(focusedEl) || focusedEl;
|
||||
is(focusedEl, gDebugger.document.getElementById("searchbox"), "Searchbox is focused");
|
||||
|
||||
setText(gSearchBox, "#html");
|
||||
|
||||
EventUtils.synthesizeKey("VK_RETURN", { shiftKey: true }, gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "html"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 35, 7),
|
||||
"The editor didn't jump to the correct line.");
|
||||
|
||||
EventUtils.synthesizeKey("VK_RETURN", { shiftKey: true }, gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "html"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 5, 6),
|
||||
"The editor didn't jump to the correct line.");
|
||||
|
||||
EventUtils.synthesizeKey("VK_RETURN", { shiftKey: true }, gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "html"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 3, 15),
|
||||
"The editor didn't jump to the correct line.");
|
||||
|
||||
setText(gSearchBox, ":12");
|
||||
is(gFiltering.searchData.toSource(), '[":", ["", 12]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 12),
|
||||
"The editor didn't jump to the correct line.");
|
||||
|
||||
EventUtils.synthesizeKey("g", { metaKey: true }, gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '[":", ["", 13]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 13),
|
||||
"The editor didn't jump to the correct line after Meta+G.");
|
||||
|
||||
EventUtils.synthesizeKey("n", { ctrlKey: true }, gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '[":", ["", 14]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14),
|
||||
"The editor didn't jump to the correct line after Ctrl+N.");
|
||||
|
||||
EventUtils.synthesizeKey("G", { metaKey: true, shiftKey: true }, gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '[":", ["", 13]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 13),
|
||||
"The editor didn't jump to the correct line after Meta+Shift+G.");
|
||||
|
||||
EventUtils.synthesizeKey("p", { ctrlKey: true }, gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '[":", ["", 12]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 12),
|
||||
"The editor didn't jump to the correct line after Ctrl+P.");
|
||||
|
||||
for (let i = 0; i < 100; i++) {
|
||||
EventUtils.sendKey("DOWN", gDebugger);
|
||||
}
|
||||
is(gFiltering.searchData.toSource(), '[":", ["", 36]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 36),
|
||||
"The editor didn't jump to the correct line after multiple DOWN keys.");
|
||||
|
||||
for (let i = 0; i < 100; i++) {
|
||||
EventUtils.sendKey("UP", gDebugger);
|
||||
}
|
||||
is(gFiltering.searchData.toSource(), '[":", ["", 1]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 1),
|
||||
"The editor didn't jump to the correct line after multiple UP keys.");
|
||||
|
||||
|
||||
let token = "debugger";
|
||||
setText(gSearchBox, "#" + token);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 8, 12 + token.length),
|
||||
"The editor didn't jump to the correct token (1).");
|
||||
|
||||
EventUtils.sendKey("DOWN", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length),
|
||||
"The editor didn't jump to the correct token (2).");
|
||||
|
||||
EventUtils.sendKey("DOWN", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 18, 15 + token.length),
|
||||
"The editor didn't jump to the correct token (3).");
|
||||
|
||||
EventUtils.sendKey("RETURN", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 26, 11 + token.length),
|
||||
"The editor didn't jump to the correct token (4).");
|
||||
|
||||
EventUtils.sendKey("RETURN", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 8, 12 + token.length),
|
||||
"The editor didn't jump to the correct token (5).");
|
||||
|
||||
EventUtils.sendKey("UP", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 26, 11 + token.length),
|
||||
"The editor didn't jump to the correct token (6).");
|
||||
|
||||
setText(gSearchBox, ":bogus#" + token + ";");
|
||||
is(gFiltering.searchData.toSource(), '["#", [":bogus", "debugger;"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't jump to the correct token (7).");
|
||||
|
||||
setText(gSearchBox, ":13#" + token + ";");
|
||||
is(gFiltering.searchData.toSource(), '["#", [":13", "debugger;"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't jump to the correct token (8).");
|
||||
|
||||
setText(gSearchBox, ":#" + token + ";");
|
||||
is(gFiltering.searchData.toSource(), '["#", [":", "debugger;"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't jump to the correct token (9).");
|
||||
|
||||
setText(gSearchBox, "::#" + token + ";");
|
||||
is(gFiltering.searchData.toSource(), '["#", ["::", "debugger;"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't jump to the correct token (10).");
|
||||
|
||||
setText(gSearchBox, ":::#" + token + ";");
|
||||
is(gFiltering.searchData.toSource(), '["#", [":::", "debugger;"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't jump to the correct token (11).");
|
||||
|
||||
|
||||
setText(gSearchBox, "#" + token + ";" + ":bogus");
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger;:bogus"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't jump to the correct token (12).");
|
||||
|
||||
setText(gSearchBox, "#" + token + ";" + ":13");
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger;:13"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't jump to the correct token (13).");
|
||||
|
||||
setText(gSearchBox, "#" + token + ";" + ":");
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger;:"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't jump to the correct token (14).");
|
||||
|
||||
setText(gSearchBox, "#" + token + ";" + "::");
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger;::"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't jump to the correct token (15).");
|
||||
|
||||
setText(gSearchBox, "#" + token + ";" + ":::");
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger;:::"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't jump to the correct token (16).");
|
||||
|
||||
|
||||
setText(gSearchBox, ":i am not a number");
|
||||
is(gFiltering.searchData.toSource(), '[":", ["", 0]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't remain at the correct token (17).");
|
||||
|
||||
setText(gSearchBox, "#__i do not exist__");
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "__i do not exist__"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length + 1),
|
||||
"The editor didn't remain at the correct token (18).");
|
||||
|
||||
|
||||
setText(gSearchBox, "#" + token);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 8, 12 + token.length),
|
||||
"The editor didn't jump to the correct token (19).");
|
||||
|
||||
|
||||
clearText(gSearchBox);
|
||||
is(gFiltering.searchData.toSource(), '["", [""]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
|
||||
EventUtils.sendKey("RETURN", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["", [""]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 8, 12 + token.length),
|
||||
"The editor shouldn't jump to another token (20).");
|
||||
|
||||
EventUtils.sendKey("RETURN", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["", [""]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 8, 12 + token.length),
|
||||
"The editor shouldn't jump to another token (21).");
|
||||
|
||||
|
||||
setText(gSearchBox, ":1:2:3:a:b:c:::12");
|
||||
is(gFiltering.searchData.toSource(), '[":", [":1:2:3:a:b:c::", 12]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 12),
|
||||
"The editor didn't jump to the correct line (22).");
|
||||
|
||||
setText(gSearchBox, "#don't#find#me#instead#find#" + token);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["#don\'t#find#me#instead#find", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 8, 12 + token.length),
|
||||
"The editor didn't jump to the correct token (23).");
|
||||
|
||||
EventUtils.sendKey("DOWN", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["#don\'t#find#me#instead#find", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 14, 9 + token.length),
|
||||
"The editor didn't jump to the correct token (24).");
|
||||
|
||||
EventUtils.sendKey("DOWN", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["#don\'t#find#me#instead#find", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 18, 15 + token.length),
|
||||
"The editor didn't jump to the correct token (25).");
|
||||
|
||||
EventUtils.sendKey("RETURN", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["#don\'t#find#me#instead#find", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 26, 11 + token.length),
|
||||
"The editor didn't jump to the correct token (26).");
|
||||
|
||||
EventUtils.sendKey("RETURN", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["#don\'t#find#me#instead#find", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 8, 12 + token.length),
|
||||
"The editor didn't jump to the correct token (27).");
|
||||
|
||||
EventUtils.sendKey("UP", gDebugger);
|
||||
is(gFiltering.searchData.toSource(), '["#", ["#don\'t#find#me#instead#find", "debugger"]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 26, 11 + token.length),
|
||||
"The editor didn't jump to the correct token (28).");
|
||||
|
||||
|
||||
clearText(gSearchBox);
|
||||
is(gFiltering.searchData.toSource(), '["", [""]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
ok(isCaretPos(gPanel, 26, 11 + token.length),
|
||||
"The editor didn't remain at the correct token (29).");
|
||||
is(gSources.visibleItems.length, 1,
|
||||
"Not all the sources are shown after the search (30).");
|
||||
|
||||
|
||||
gEditor.focus();
|
||||
gEditor.setSelection.apply(gEditor, gEditor.getPosition(1, 5));
|
||||
ok(isCaretPos(gPanel, 1, 6),
|
||||
"The editor caret position didn't update after selecting some text.");
|
||||
|
||||
EventUtils.synthesizeKey("F", { accelKey: true });
|
||||
is(gFiltering.searchData.toSource(), '["#", ["", "!-- "]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
is(gSearchBox.value, "#!-- ",
|
||||
"The search field has the right initial value (1).");
|
||||
|
||||
gEditor.focus();
|
||||
gEditor.setSelection.apply(gEditor, gEditor.getPosition(415, 418));
|
||||
ok(isCaretPos(gPanel, 21, 30),
|
||||
"The editor caret position didn't update after selecting some number.");
|
||||
|
||||
EventUtils.synthesizeKey("L", { accelKey: true });
|
||||
is(gFiltering.searchData.toSource(), '[":", ["", 100]]',
|
||||
"The searchbox data wasn't parsed correctly.");
|
||||
is(gSearchBox.value, ":100",
|
||||
"The search field has the right initial value (2).");
|
||||
|
||||
|
||||
closeDebuggerAndFinish(gPanel);
|
||||
}
|
||||
|
||||
registerCleanupFunction(function () {
|
||||
gTab = null;
|
||||
gPanel = null;
|
||||
gDebugger = null;
|
||||
gEditor = null;
|
||||
gSources = null;
|
||||
gFiltering = null;
|
||||
gSearchBox = null;
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue