1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/components/tabview/test/browser_tabview_bug595518.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,60 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + http://creativecommons.org/publicdomain/zero/1.0/ */ 1.6 + 1.7 +function test() { 1.8 + waitForExplicitFinish(); 1.9 + 1.10 + // show tab view 1.11 + window.addEventListener("tabviewshown", onTabViewWindowLoaded, false); 1.12 + TabView.toggle(); 1.13 +} 1.14 + 1.15 +function onTabViewWindowLoaded() { 1.16 + window.removeEventListener("tabviewshown", onTabViewWindowLoaded, false); 1.17 + ok(TabView.isVisible(), "Tab View is visible"); 1.18 + 1.19 + let contentWindow = document.getElementById("tab-view").contentWindow; 1.20 + 1.21 + let onTabViewHidden = function() { 1.22 + window.removeEventListener("tabviewhidden", onTabViewHidden, false); 1.23 + 1.24 + // verify exit button worked 1.25 + ok(!TabView.isVisible(), "Tab View is hidden"); 1.26 + 1.27 + // verify that the exit button no longer has focus 1.28 + is(contentWindow.iQ("#exit-button:focus").length, 0, 1.29 + "The exit button doesn't have the focus"); 1.30 + 1.31 + // verify that the keyboard combo works (this is the crux of bug 595518) 1.32 + // Prepare the key combo 1.33 + window.addEventListener("tabviewshown", onTabViewShown, false); 1.34 + EventUtils.synthesizeKey("e", { accelKey: true, shiftKey: true }, contentWindow); 1.35 + } 1.36 + 1.37 + let onTabViewShown = function() { 1.38 + window.removeEventListener("tabviewshown", onTabViewShown, false); 1.39 + 1.40 + // test if the key combo worked 1.41 + ok(TabView.isVisible(), "Tab View is visible"); 1.42 + 1.43 + // clean up 1.44 + let endGame = function() { 1.45 + window.removeEventListener("tabviewhidden", endGame, false); 1.46 + 1.47 + ok(!TabView.isVisible(), "Tab View is hidden"); 1.48 + finish(); 1.49 + } 1.50 + window.addEventListener("tabviewhidden", endGame, false); 1.51 + TabView.toggle(); 1.52 + } 1.53 + 1.54 + window.addEventListener("tabviewhidden", onTabViewHidden, false); 1.55 + 1.56 + // locate exit button 1.57 + let button = contentWindow.document.getElementById("exit-button"); 1.58 + ok(button, "Exit button exists"); 1.59 + 1.60 + // click exit button 1.61 + button.focus(); 1.62 + EventUtils.sendMouseEvent({ type: "click" }, button, contentWindow); 1.63 +}