diff options
Diffstat (limited to 'toolkit/devtools/debugger/test/browser_dbg_blackboxing-01.js')
-rw-r--r-- | toolkit/devtools/debugger/test/browser_dbg_blackboxing-01.js | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/toolkit/devtools/debugger/test/browser_dbg_blackboxing-01.js b/toolkit/devtools/debugger/test/browser_dbg_blackboxing-01.js new file mode 100644 index 000000000..4bcb052a9 --- /dev/null +++ b/toolkit/devtools/debugger/test/browser_dbg_blackboxing-01.js @@ -0,0 +1,52 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Test that if we black box a source and then refresh, it is still black boxed. + */ + +const TAB_URL = EXAMPLE_URL + "doc_binary_search.html"; + +let gTab, gPanel, gDebugger; + +function test() { + initDebugger(TAB_URL).then(([aTab,, aPanel]) => { + gTab = aTab; + gPanel = aPanel; + gDebugger = gPanel.panelWin; + + waitForSourceShown(gPanel, ".coffee") + .then(testBlackBoxSource) + .then(testBlackBoxReload) + .then(() => closeDebuggerAndFinish(gPanel)) + .then(null, aError => { + ok(false, "Got an error: " + aError.message + "\n" + aError.stack); + }); + }); +} + +function testBlackBoxSource() { + const bbButton = getBlackBoxButton(gPanel); + ok(!bbButton.checked, "Should not be black boxed by default"); + + return toggleBlackBoxing(gPanel).then(aSource => { + ok(aSource.isBlackBoxed, "The source should be black boxed now."); + ok(bbButton.checked, "The checkbox should no longer be checked."); + }); +} + +function testBlackBoxReload() { + return reloadActiveTab(gPanel, gDebugger.EVENTS.SOURCE_SHOWN).then(() => { + const bbButton = getBlackBoxButton(gPanel); + const selectedSource = getSelectedSourceElement(gPanel); + ok(bbButton.checked, "Should still be black boxed."); + ok(selectedSource.classList.contains("black-boxed"), + "'black-boxed' class should still be applied"); + }); +} + +registerCleanupFunction(function() { + gTab = null; + gPanel = null; + gDebugger = null; +}); |