diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /devtools/client/aboutdebugging/test/browser_addons_toggle_debug.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'devtools/client/aboutdebugging/test/browser_addons_toggle_debug.js')
-rw-r--r-- | devtools/client/aboutdebugging/test/browser_addons_toggle_debug.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/devtools/client/aboutdebugging/test/browser_addons_toggle_debug.js b/devtools/client/aboutdebugging/test/browser_addons_toggle_debug.js new file mode 100644 index 000000000..1f67cac5b --- /dev/null +++ b/devtools/client/aboutdebugging/test/browser_addons_toggle_debug.js @@ -0,0 +1,65 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +// Test that individual Debug buttons are disabled when "Addons debugging" +// is disabled. +// Test that the buttons are updated dynamically if the preference changes. + +const ADDON_ID = "test-devtools@mozilla.org"; +const ADDON_NAME = "test-devtools"; + +add_task(function* () { + info("Turn off addon debugging."); + yield new Promise(resolve => { + let options = {"set": [ + ["devtools.chrome.enabled", false], + ["devtools.debugger.remote-enabled", false], + ]}; + SpecialPowers.pushPrefEnv(options, resolve); + }); + + let { tab, document } = yield openAboutDebugging("addons"); + yield waitForInitialAddonList(document); + + info("Install a test addon."); + yield installAddon({ + document, + path: "addons/unpacked/install.rdf", + name: ADDON_NAME, + }); + + let addonDebugCheckbox = document.querySelector("#enable-addon-debugging"); + ok(!addonDebugCheckbox.checked, "Addons debugging should be disabled."); + + info("Check all debug buttons are disabled."); + let debugButtons = [...document.querySelectorAll("#addons .debug-button")]; + ok(debugButtons.every(b => b.disabled), "Debug buttons should be disabled"); + + info("Click on 'Enable addons debugging' checkbox."); + let addonsContainer = document.getElementById("addons"); + let onAddonsMutation = waitForMutation(addonsContainer, + { subtree: true, attributes: true }); + addonDebugCheckbox.click(); + yield onAddonsMutation; + + info("Check all debug buttons are enabled."); + ok(addonDebugCheckbox.checked, "Addons debugging should be enabled."); + debugButtons = [...document.querySelectorAll("#addons .debug-button")]; + ok(debugButtons.every(b => !b.disabled), "Debug buttons should be enabled"); + + info("Click again on 'Enable addons debugging' checkbox."); + onAddonsMutation = waitForMutation(addonsContainer, + { subtree: true, attributes: true }); + addonDebugCheckbox.click(); + yield onAddonsMutation; + + info("Check all debug buttons are disabled again."); + debugButtons = [...document.querySelectorAll("#addons .debug-button")]; + ok(debugButtons.every(b => b.disabled), "Debug buttons should be disabled"); + + info("Uninstall addon installed earlier."); + yield uninstallAddon({document, id: ADDON_ID, name: ADDON_NAME}); + + yield closeAboutDebugging(tab); +}); |