diff -r 000000000000 -r 6474c204b198 browser/devtools/debugger/test/browser_dbg_blackboxing-05.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/devtools/debugger/test/browser_dbg_blackboxing-05.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,66 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Test that a "this source is blackboxed" message is shown when necessary + * and can be properly dismissed. + */ + +const TAB_URL = EXAMPLE_URL + "doc_binary_search.html"; + +let gTab, gDebuggee, gPanel, gDebugger; +let gDeck; + +function test() { + initDebugger(TAB_URL).then(([aTab, aDebuggee, aPanel]) => { + gTab = aTab; + gDebuggee = aDebuggee; + gPanel = aPanel; + gDebugger = gPanel.panelWin; + gDeck = gDebugger.document.getElementById("editor-deck"); + + waitForSourceShown(gPanel, ".coffee") + .then(testSourceEditorShown) + .then(toggleBlackBoxing.bind(null, gPanel)) + .then(testBlackBoxMessageShown) + .then(clickStopBlackBoxingButton) + .then(testSourceEditorShownAgain) + .then(() => closeDebuggerAndFinish(gPanel)) + .then(null, aError => { + ok(false, "Got an error: " + aError.message + "\n" + aError.stack); + }); + }); +} + +function testSourceEditorShown() { + is(gDeck.selectedIndex, "0", + "The first item in the deck should be selected (the source editor)."); +} + +function testBlackBoxMessageShown() { + is(gDeck.selectedIndex, "1", + "The second item in the deck should be selected (the black box message)."); +} + +function clickStopBlackBoxingButton() { + let finished = waitForThreadEvents(gPanel, "blackboxchange"); + getEditorBlackboxMessageButton().click(); + return finished; +} + +function testSourceEditorShownAgain() { + is(gDeck.selectedIndex, "0", + "The first item in the deck should be selected again (the source editor)."); +} + +function getEditorBlackboxMessageButton() { + return gDebugger.document.getElementById("black-boxed-message-button"); +} + +registerCleanupFunction(function() { + gTab = null; + gDebuggee = null; + gPanel = null; + gDebugger = null; + gDeck = null; +});