browser/devtools/debugger/test/browser_dbg_search-popup-jank.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* Any copyright is dedicated to the Public Domain.
     2    http://creativecommons.org/publicdomain/zero/1.0/ */
     4 /**
     5  * Tests that sources aren't selected by default when finding a match.
     6  */
     8 const TAB_URL = EXAMPLE_URL + "doc_editor-mode.html";
    10 let gTab, gDebuggee, gPanel, gDebugger;
    11 let gSearchBox;
    13 function test() {
    14   initDebugger(TAB_URL).then(([aTab, aDebuggee, aPanel]) => {
    15     gTab = aTab;
    16     gDebuggee = aDebuggee;
    17     gPanel = aPanel;
    18     gDebugger = gPanel.panelWin;
    19     gSearchBox = gDebugger.DebuggerView.Filtering._searchbox;
    21     gDebugger.DebuggerView.FilteredSources._autoSelectFirstItem = false;
    22     gDebugger.DebuggerView.FilteredFunctions._autoSelectFirstItem = false;
    24     waitForSourceShown(gPanel, "-01.js")
    25       .then(superGenericFileSearch)
    26       .then(() => ensureSourceIs(aPanel, "-01.js"))
    27       .then(() => ensureCaretAt(aPanel, 1))
    29       .then(superAccurateFileSearch)
    30       .then(() => ensureSourceIs(aPanel, "-01.js"))
    31       .then(() => ensureCaretAt(aPanel, 1))
    32       .then(() => pressKeyToHide("RETURN"))
    33       .then(() => ensureSourceIs(aPanel, "code_test-editor-mode", true))
    34       .then(() => ensureCaretAt(aPanel, 1))
    36       .then(superGenericFileSearch)
    37       .then(() => ensureSourceIs(aPanel, "code_test-editor-mode"))
    38       .then(() => ensureCaretAt(aPanel, 1))
    39       .then(() => pressKey("UP"))
    40       .then(() => ensureSourceIs(aPanel, "doc_editor-mode", true))
    41       .then(() => ensureCaretAt(aPanel, 1))
    42       .then(() => pressKeyToHide("RETURN"))
    43       .then(() => ensureSourceIs(aPanel, "doc_editor-mode"))
    44       .then(() => ensureCaretAt(aPanel, 1))
    46       .then(superAccurateFileSearch)
    47       .then(() => ensureSourceIs(aPanel, "doc_editor-mode"))
    48       .then(() => ensureCaretAt(aPanel, 1))
    49       .then(() => typeText(gSearchBox, ":"))
    50       .then(() => ensureSourceIs(aPanel, "code_test-editor-mode", true))
    51       .then(() => ensureCaretAt(aPanel, 1))
    52       .then(() => typeText(gSearchBox, "5"))
    53       .then(() => ensureSourceIs(aPanel, "code_test-editor-mode"))
    54       .then(() => ensureCaretAt(aPanel, 5))
    55       .then(() => pressKey("DOWN"))
    56       .then(() => ensureSourceIs(aPanel, "code_test-editor-mode"))
    57       .then(() => ensureCaretAt(aPanel, 6))
    59       .then(superGenericFunctionSearch)
    60       .then(() => ensureSourceIs(aPanel, "code_test-editor-mode"))
    61       .then(() => ensureCaretAt(aPanel, 6))
    62       .then(() => pressKey("RETURN"))
    63       .then(() => ensureSourceIs(aPanel, "code_test-editor-mode"))
    64       .then(() => ensureCaretAt(aPanel, 4, 10))
    66       .then(() => closeDebuggerAndFinish(gPanel))
    67       .then(null, aError => {
    68         ok(false, "Got an error: " + aError.message + "\n" + aError.stack);
    69       });
    70   });
    71 }
    73 function waitForMatchFoundAndResultsShown(aName) {
    74   return promise.all([
    75     once(gDebugger, "popupshown"),
    76     waitForDebuggerEvents(gPanel, gDebugger.EVENTS[aName])
    77   ]);
    78 }
    80 function waitForResultsHidden() {
    81   return once(gDebugger, "popuphidden");
    82 }
    84 function superGenericFunctionSearch() {
    85   let finished = waitForMatchFoundAndResultsShown("FUNCTION_SEARCH_MATCH_FOUND");
    86   setText(gSearchBox, "@");
    87   return finished;
    88 }
    90 function superGenericFileSearch() {
    91   let finished = waitForMatchFoundAndResultsShown("FILE_SEARCH_MATCH_FOUND");
    92   setText(gSearchBox, ".");
    93   return finished;
    94 }
    96 function superAccurateFileSearch() {
    97   let finished = waitForMatchFoundAndResultsShown("FILE_SEARCH_MATCH_FOUND");
    98   setText(gSearchBox, "editor");
    99   return finished;
   100 }
   102 function pressKey(aKey) {
   103   EventUtils.sendKey(aKey, gDebugger);
   104 }
   106 function pressKeyToHide(aKey) {
   107   let finished = waitForResultsHidden();
   108   EventUtils.sendKey(aKey, gDebugger);
   109   return finished;
   110 }
   112 registerCleanupFunction(function() {
   113   gTab = null;
   114   gDebuggee = null;
   115   gPanel = null;
   116   gDebugger = null;
   117   gSearchBox = null;
   118 });

mercurial