Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
"use strict";
/* import-globals-from helper-backward-compat.js */
Services.scriptloader.loadSubScript(
CHROME_URL_ROOT + "helper-backward-compat.js",
this
);
const TAB_TITLE = "DevTools compat test tab";
// Check that tabs opened on the server appear in and disappear from the runtime
// page.
addCompatTask(async function (config) {
const { document, tab } = await openAboutDebuggingWithCompatServer(config);
await connectToRuntime(config.host, document);
await waitForRuntimePage(config.runtime.brandName, document);
const handle = await openDevToolsServerTab(config, "tab.html");
info("Wait until the new tab is listed as a debug target");
await waitFor(
() => findDebugTargetByText(TAB_TITLE, document),
"The tab opened on the server is displayed in the runtime page"
);
const tabsPane = getDebugTargetPane("Tabs", document);
ok(
tabsPane.textContent.includes(TAB_TITLE),
"The tab is displayed in the Tabs pane"
);
const tabsCount = tabsPane.querySelectorAll(".qa-debug-target-item").length;
await closeDevToolsServerTab(config, handle);
info("Wait until the tab is removed from the debug targets");
await waitFor(
() => !findDebugTargetByText(TAB_TITLE, document),
"The tab closed on the server is removed from the runtime page"
);
is(
tabsPane.querySelectorAll(".qa-debug-target-item").length,
tabsCount - 1,
"Exactly one tab was removed from the list of tabs"
);
await removeTab(tab);
});