browser/components/tabview/test/browser_tabview_bug595518.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:c0e15cba1cd4
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
3
4 function test() {
5 waitForExplicitFinish();
6
7 // show tab view
8 window.addEventListener("tabviewshown", onTabViewWindowLoaded, false);
9 TabView.toggle();
10 }
11
12 function onTabViewWindowLoaded() {
13 window.removeEventListener("tabviewshown", onTabViewWindowLoaded, false);
14 ok(TabView.isVisible(), "Tab View is visible");
15
16 let contentWindow = document.getElementById("tab-view").contentWindow;
17
18 let onTabViewHidden = function() {
19 window.removeEventListener("tabviewhidden", onTabViewHidden, false);
20
21 // verify exit button worked
22 ok(!TabView.isVisible(), "Tab View is hidden");
23
24 // verify that the exit button no longer has focus
25 is(contentWindow.iQ("#exit-button:focus").length, 0,
26 "The exit button doesn't have the focus");
27
28 // verify that the keyboard combo works (this is the crux of bug 595518)
29 // Prepare the key combo
30 window.addEventListener("tabviewshown", onTabViewShown, false);
31 EventUtils.synthesizeKey("e", { accelKey: true, shiftKey: true }, contentWindow);
32 }
33
34 let onTabViewShown = function() {
35 window.removeEventListener("tabviewshown", onTabViewShown, false);
36
37 // test if the key combo worked
38 ok(TabView.isVisible(), "Tab View is visible");
39
40 // clean up
41 let endGame = function() {
42 window.removeEventListener("tabviewhidden", endGame, false);
43
44 ok(!TabView.isVisible(), "Tab View is hidden");
45 finish();
46 }
47 window.addEventListener("tabviewhidden", endGame, false);
48 TabView.toggle();
49 }
50
51 window.addEventListener("tabviewhidden", onTabViewHidden, false);
52
53 // locate exit button
54 let button = contentWindow.document.getElementById("exit-button");
55 ok(button, "Exit button exists");
56
57 // click exit button
58 button.focus();
59 EventUtils.sendMouseEvent({ type: "click" }, button, contentWindow);
60 }

mercurial