|
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 } |