browser/components/tabview/test/browser_tabview_bug595521.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 let fadeAwayUndoButtonDelay;
     5 let fadeAwayUndoButtonDuration;
     7 function test() {
     8   waitForExplicitFinish();
    10   window.addEventListener("tabviewshown", testCloseLastGroup, false);
    11   TabView.toggle();
    12 }
    14 function testCloseLastGroup() {
    15   window.removeEventListener("tabviewshown", testCloseLastGroup, false);
    16   ok(TabView.isVisible(), "Tab View is visible");
    18   let contentWindow = document.getElementById("tab-view").contentWindow;
    20   is(contentWindow.GroupItems.groupItems.length, 1, "Has one group only");
    22   let groupItem = contentWindow.GroupItems.groupItems[0];
    24   let checkExistence = function() {
    25     is(contentWindow.GroupItems.groupItems.length, 1, 
    26        "Still has one group after delay");
    28     EventUtils.sendMouseEvent(
    29       { type: "click" }, groupItem.$undoContainer[0], contentWindow);
    30   };
    32   groupItem.addSubscriber("groupHidden", function onHidden() {
    33     groupItem.removeSubscriber("groupHidden", onHidden);
    34     // it should still stay after 3 ms.
    35     setTimeout(checkExistence, 3);
    36   });
    38   groupItem.addSubscriber("groupShown", function onShown() {
    39     groupItem.removeSubscriber("groupShown", onShown);
    41     let endGame = function() {
    42       window.removeEventListener("tabviewhidden", endGame, false);
    43       ok(!TabView.isVisible(), "Tab View is hidden");
    45       groupItem.fadeAwayUndoButtonDelay = fadeAwayUndoButtonDelay;
    46       groupItem.fadeAwayUndoButtonDuration = fadeAwayUndoButtonDuration;
    48       finish();
    49     };
    50     window.addEventListener("tabviewhidden", endGame, false);
    52     TabView.toggle();
    53   });
    55   let closeButton = groupItem.container.getElementsByClassName("close");
    56   ok(closeButton, "Group item close button exists");
    58   // store the original values
    59   fadeAwayUndoButtonDelay = groupItem.fadeAwayUndoButtonDelay;
    60   fadeAwayUndoButtonDuration = groupItem.fadeAwayUndoButtonDuration;
    62   // set both fade away delay and duration to 1ms
    63   groupItem.fadeAwayUndoButtonDelay = 1;
    64   groupItem.fadeAwayUndoButtonDuration = 1;
    66   EventUtils.sendMouseEvent({ type: "click" }, closeButton[0], contentWindow);
    67 }

mercurial