summaryrefslogtreecommitdiffstats
path: root/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_debug-target-pane_usb_runtime.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_debug-target-pane_usb_runtime.js')
-rw-r--r--devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_debug-target-pane_usb_runtime.js72
1 files changed, 72 insertions, 0 deletions
diff --git a/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_debug-target-pane_usb_runtime.js b/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_debug-target-pane_usb_runtime.js
new file mode 100644
index 0000000000..0f50b9454b
--- /dev/null
+++ b/devtools/client/aboutdebugging/test/browser/browser_aboutdebugging_debug-target-pane_usb_runtime.js
@@ -0,0 +1,72 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+/* import-globals-from helper-collapsibilities.js */
+Services.scriptloader.loadSubScript(
+ CHROME_URL_ROOT + "helper-collapsibilities.js",
+ this
+);
+
+const RUNTIME_ID = "test-runtime-id";
+const RUNTIME_DEVICE_NAME = "test device name";
+const RUNTIME_APP_NAME = "TestApp";
+
+// Test that the expected supported categories are displayed for USB runtimes.
+add_task(async function () {
+ const mocks = new Mocks();
+ await checkTargetPanes({ enableLocalTabs: false }, mocks);
+
+ info(
+ "Check that enableLocalTabs has no impact on the categories displayed for remote" +
+ " runtimes."
+ );
+ await checkTargetPanes({ enableLocalTabs: true }, mocks);
+});
+
+async function checkTargetPanes({ enableLocalTabs }, mocks) {
+ const { document, tab, window } = await openAboutDebugging({
+ enableLocalTabs,
+ });
+ await selectThisFirefoxPage(document, window.AboutDebugging.store);
+
+ mocks.createUSBRuntime(RUNTIME_ID, {
+ deviceName: RUNTIME_DEVICE_NAME,
+ name: RUNTIME_APP_NAME,
+ });
+ mocks.emitUSBUpdate();
+
+ await connectToRuntime(RUNTIME_DEVICE_NAME, document);
+ await selectRuntime(RUNTIME_DEVICE_NAME, RUNTIME_APP_NAME, document);
+
+ const SUPPORTED_TARGET_PANES = [
+ "Temporary Extensions",
+ "Extensions",
+ "Other Workers",
+ "Shared Workers",
+ "Service Workers",
+ "Tabs",
+ ];
+
+ for (const { title } of TARGET_PANES) {
+ const debugTargetPaneEl = getDebugTargetPane(title, document);
+ if (SUPPORTED_TARGET_PANES.includes(title)) {
+ ok(debugTargetPaneEl, `Supported target pane [${title}] is displayed`);
+ } else {
+ ok(!debugTargetPaneEl, `Unsupported target pane [${title}] is hidden`);
+ }
+ }
+
+ const installButton = document.querySelector(
+ ".qa-temporary-extension-install-button"
+ );
+ ok(!installButton, "Temporary Extensions install button is hidden");
+
+ info("Remove USB runtime");
+ mocks.removeUSBRuntime(RUNTIME_ID);
+ mocks.emitUSBUpdate();
+ await waitUntilUsbDeviceIsUnplugged(RUNTIME_DEVICE_NAME, document);
+
+ await removeTab(tab);
+}