From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../test/browser_addons_toggle_debug.js | 65 ++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 devtools/client/aboutdebugging/test/browser_addons_toggle_debug.js (limited to 'devtools/client/aboutdebugging/test/browser_addons_toggle_debug.js') 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); +}); -- cgit v1.2.3