michael@0: /* Any copyright is dedicated to the Public Domain. michael@0: http://creativecommons.org/publicdomain/zero/1.0/ */ michael@0: michael@0: function test() { michael@0: waitForExplicitFinish(); michael@0: michael@0: window.addEventListener("tabviewshown", onTabViewWindowLoaded, false); michael@0: TabView.toggle(); michael@0: } michael@0: michael@0: function onTabViewWindowLoaded() { michael@0: window.removeEventListener("tabviewshown", onTabViewWindowLoaded, false); michael@0: michael@0: let contentWindow = document.getElementById("tab-view").contentWindow; michael@0: let number = -1; michael@0: michael@0: let onSearchEnabled = function() { michael@0: // ensure the dom changes (textbox get focused with number entered) complete michael@0: // before doing a check. michael@0: executeSoon(function() { michael@0: let searchBox = contentWindow.document.getElementById("searchbox"); michael@0: is(searchBox.value, number, "The seach box matches the number: " + number); michael@0: contentWindow.Search.hide(null); michael@0: }); michael@0: } michael@0: let onSearchDisabled = function() { michael@0: if (++number <= 9) { michael@0: EventUtils.synthesizeKey(String(number), { }, contentWindow); michael@0: } else { michael@0: contentWindow.removeEventListener( michael@0: "tabviewsearchenabled", onSearchEnabled, false); michael@0: contentWindow.removeEventListener( michael@0: "tabviewsearchdisabled", onSearchDisabled, false); michael@0: michael@0: let endGame = function() { michael@0: window.removeEventListener("tabviewhidden", endGame, false); michael@0: michael@0: ok(!TabView.isVisible(), "Tab View is hidden"); michael@0: finish(); michael@0: } michael@0: window.addEventListener("tabviewhidden", endGame, false); michael@0: TabView.toggle(); michael@0: } michael@0: } michael@0: contentWindow.addEventListener( michael@0: "tabviewsearchenabled", onSearchEnabled, false); michael@0: contentWindow.addEventListener( michael@0: "tabviewsearchdisabled", onSearchDisabled, false); michael@0: michael@0: onSearchDisabled(); michael@0: } michael@0: