diff -r 000000000000 -r 6474c204b198 browser/devtools/inspector/test/browser_inspector_sidebarstate.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/devtools/inspector/test/browser_inspector_sidebarstate.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,72 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +let doc; +let inspector; + +function createDocument() +{ + doc.body.innerHTML = '

Sidebar state test

'; + doc.title = "Sidebar State Test"; + + openInspector(function(panel) { + inspector = panel; + inspector.sidebar.select("ruleview"); + inspectorRuleViewOpened(); + }); +} + +function inspectorRuleViewOpened() +{ + is(inspector.sidebar.getCurrentTabID(), "ruleview", "Rule View is selected by default"); + + // Select the computed view and turn off the inspector. + inspector.sidebar.select("computedview"); + + gDevTools.once("toolbox-destroyed", inspectorClosed); + let target = TargetFactory.forTab(gBrowser.selectedTab); + gDevTools.closeToolbox(target); +} + +function inspectorClosed() +{ + openInspector(function(panel) { + inspector = panel; + + if (inspector.sidebar.getCurrentTabID()) { + info("Default sidebar already selected.") + testNewDefaultTab(); + } else { + info("Default sidebar still to be selected, adding select listener."); + inspector.sidebar.once("select", testNewDefaultTab); + } + }); +} + +function testNewDefaultTab() +{ + is(inspector.sidebar.getCurrentTabID(), "computedview", "Computed view is selected by default."); + + finishTest(); +} + + +function finishTest() +{ + doc = inspector = null; + gBrowser.removeCurrentTab(); + finish(); +} + +function test() +{ + waitForExplicitFinish(); + gBrowser.selectedTab = gBrowser.addTab(); + gBrowser.selectedBrowser.addEventListener("load", function() { + gBrowser.selectedBrowser.removeEventListener("load", arguments.callee, true); + doc = content.document; + waitForFocus(createDocument, content); + }, true); + + content.location = "data:text/html;charset=utf-8,browser_inspector_sidebarstate.js"; +}