browser_aboutdebugging_hidden_addons.js (1843B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 // Test that system and hidden addons are only displayed when the showSystemAddons 7 // preferences is true. 8 9 const SYSTEM_ADDON = createAddonData({ 10 id: "system", 11 name: "System Addon", 12 isSystem: true, 13 hidden: true, 14 }); 15 const HIDDEN_ADDON = createAddonData({ 16 id: "hidden", 17 name: "Hidden Addon", 18 isSystem: false, 19 hidden: true, 20 }); 21 const NORMAL_ADDON = createAddonData({ 22 id: "normal", 23 name: "Normal Addon", 24 isSystem: false, 25 hidden: false, 26 }); 27 28 add_task(async function testShowSystemAddonsTrue() { 29 info("Test with showHiddenAddons set to true"); 30 await testAddonsDisplay(true); 31 32 info("Test with showHiddenAddons set to false"); 33 await testAddonsDisplay(false); 34 }); 35 36 async function testAddonsDisplay(showHidden) { 37 const thisFirefoxClient = setupThisFirefoxMock(); 38 thisFirefoxClient.listAddons = () => [ 39 SYSTEM_ADDON, 40 HIDDEN_ADDON, 41 NORMAL_ADDON, 42 ]; 43 44 info("Set showHiddenAddons to " + showHidden); 45 await pushPref("devtools.aboutdebugging.showHiddenAddons", showHidden); 46 47 const { document, tab, window } = await openAboutDebugging(); 48 await selectThisFirefoxPage(document, window.AboutDebugging.store); 49 50 const hasSystemAddon = !!findDebugTargetByText("System Addon", document); 51 const hasHiddenAddon = !!findDebugTargetByText("Hidden Addon", document); 52 const hasInstalledAddon = !!findDebugTargetByText("Normal Addon", document); 53 is( 54 hasSystemAddon, 55 showHidden, 56 "System addon display is correct when showHiddenAddons is " + showHidden 57 ); 58 is( 59 hasHiddenAddon, 60 showHidden, 61 "Hidden addon display is correct when showHiddenAddons is " + showHidden 62 ); 63 ok(hasInstalledAddon, "Installed addon is always displayed"); 64 65 await removeTab(tab); 66 }