1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/components/tabview/test/browser_tabview_launch.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,59 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + http://creativecommons.org/publicdomain/zero/1.0/ */ 1.6 + 1.7 +let newWin; 1.8 + 1.9 +// ---------- 1.10 +function test() { 1.11 + waitForExplicitFinish(); 1.12 + 1.13 + let panelSelected = false; 1.14 + registerCleanupFunction(function () ok(panelSelected, "panel is selected")); 1.15 + 1.16 + let onLoad = function (win) { 1.17 + registerCleanupFunction(function () win.close()); 1.18 + 1.19 + newWin = win; 1.20 + 1.21 + let onSelect = function(event) { 1.22 + if (deck != event.target) 1.23 + return; 1.24 + 1.25 + let iframe = win.document.getElementById("tab-view"); 1.26 + if (deck.selectedPanel != iframe) 1.27 + return; 1.28 + 1.29 + deck.removeEventListener("select", onSelect, true); 1.30 + panelSelected = true; 1.31 + }; 1.32 + 1.33 + let deck = win.document.getElementById("tab-view-deck"); 1.34 + deck.addEventListener("select", onSelect, true); 1.35 + }; 1.36 + 1.37 + let onShow = function (win) { 1.38 + executeSoon(function() { 1.39 + testMethodToHideAndShowTabView(function() { 1.40 + newWin.document.getElementById("menu_tabview").doCommand(); 1.41 + }, function() { 1.42 + testMethodToHideAndShowTabView(function() { 1.43 + EventUtils.synthesizeKey("E", { accelKey: true, shiftKey: true }, newWin); 1.44 + }, finish); 1.45 + }); 1.46 + }); 1.47 + }; 1.48 + 1.49 + newWindowWithTabView(onShow, onLoad); 1.50 +} 1.51 + 1.52 +function testMethodToHideAndShowTabView(executeFunc, callback) { 1.53 + whenTabViewIsHidden(function() { 1.54 + ok(!newWin.TabView.isVisible(), "Tab View is not visible after executing the function"); 1.55 + whenTabViewIsShown(function() { 1.56 + ok(newWin.TabView.isVisible(), "Tab View is visible after executing the function again"); 1.57 + callback(); 1.58 + }, newWin); 1.59 + executeFunc(); 1.60 + }, newWin); 1.61 + executeFunc(); 1.62 +}