diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_connect_toggle_usb_devices.js | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_connect_toggle_usb_devices.js')
-rw-r--r-- | devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_connect_toggle_usb_devices.js | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_connect_toggle_usb_devices.js b/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_connect_toggle_usb_devices.js new file mode 100644 index 0000000000..e0d7303669 --- /dev/null +++ b/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_connect_toggle_usb_devices.js @@ -0,0 +1,81 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +/* import-globals-from helper-adb.js */ +Services.scriptloader.loadSubScript(CHROME_URL_ROOT + "helper-adb.js", this); + +/** + * Check that USB Devices scanning can be enabled and disabled from the connect page. + */ +add_task(async function () { + await pushPref( + "devtools.remote.adb.extensionURL", + CHROME_URL_ROOT + "resources/test-adb-extension/adb-extension-#OS#.xpi" + ); + await checkAdbNotRunning(); + + const { document, tab } = await openAboutDebugging(); + + await selectConnectPage(document); + + info("Wait until Connect page is displayed"); + await waitUntil(() => document.querySelector(".qa-connect-page")); + + info("Check that by default USB devices are disabled"); + const usbDisabledMessage = document.querySelector( + ".qa-connect-usb-disabled-message" + ); + ok(usbDisabledMessage, "A message about enabling USB devices is rendered"); + + const usbToggleButton = document.querySelector( + ".qa-connect-usb-toggle-button" + ); + ok(usbToggleButton, "The button to toggle USB devices debugging is rendered"); + ok( + usbToggleButton.textContent.includes("Enable"), + "The text of the toggle USB button is correct" + ); + + info("Click on the toggle button"); + usbToggleButton.click(); + + info("Wait until the toggle button text is updated"); + await waitUntil(() => usbToggleButton.textContent.includes("Disable")); + ok( + !document.querySelector(".qa-connect-usb-disabled-message"), + "The message about enabling USB devices is no longer rendered" + ); + + info("Check that the addon was installed with the proper source"); + const adbExtensionId = Services.prefs.getCharPref( + "devtools.remote.adb.extensionID" + ); + const addon = await AddonManager.getAddonByID(adbExtensionId); + Assert.deepEqual( + addon.installTelemetryInfo, + { source: "about:debugging" }, + "Got the expected addon.installTelemetryInfo" + ); + + // Right now we are resuming as soon as "USB enabled" is displayed, but ADB + // might still be starting up. If we move to uninstall directly, the ADB startup will + // fail and we will have an unhandled promise rejection. + // See Bug 1498469. + await waitForAdbStart(); + + info("Click on the toggle button"); + usbToggleButton.click(); + + info("Wait until the toggle button text is updated"); + await waitUntil(() => usbToggleButton.textContent.includes("Enable")); + ok( + document.querySelector(".qa-connect-usb-disabled-message"), + "The message about enabling USB devices is rendered again" + ); + + await stopAdbProcess(); + + await removeTab(tab); +}); |