mirror of
https://github.com/HeyPuter/firefox.git
synced 2026-11-13 20:14:57 -10:00
84 lines
2.7 KiB
JavaScript
84 lines
2.7 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
// Test that a button to access tools hidden by toolbar overflow is displayed when the
|
|
// toolbar starts to present an overflow.
|
|
const { Toolbox } = require("resource://devtools/client/framework/toolbox.js");
|
|
|
|
add_task(async function () {
|
|
const tab = await addTab("about:blank");
|
|
|
|
info("Open devtools on the Inspector in a bottom dock");
|
|
const toolbox = await openToolboxForTab(
|
|
tab,
|
|
"inspector",
|
|
Toolbox.HostType.BOTTOM
|
|
);
|
|
|
|
const hostWindow = toolbox.topWindow;
|
|
const originalWidth = hostWindow.outerWidth;
|
|
const originalHeight = hostWindow.outerHeight;
|
|
|
|
info(
|
|
"Resize devtools window to a width that should not trigger any overflow"
|
|
);
|
|
let onResize = once(hostWindow, "resize");
|
|
hostWindow.resizeTo(1350, 300);
|
|
await onResize;
|
|
|
|
info("Wait for all buttons to be displayed");
|
|
await waitUntil(() => {
|
|
return (
|
|
toolbox.panelDefinitions.length ===
|
|
toolbox.doc.querySelectorAll(".devtools-tab").length
|
|
);
|
|
});
|
|
|
|
let chevronMenuButton = toolbox.doc.querySelector(".tools-chevron-menu");
|
|
ok(!chevronMenuButton, "The chevron menu button is not displayed");
|
|
|
|
info("Resize devtools window to a width that should trigger an overflow");
|
|
onResize = once(hostWindow, "resize");
|
|
hostWindow.resizeTo(800, 300);
|
|
await onResize;
|
|
await waitUntil(() => !toolbox.doc.querySelector(".tools-chevron-menu"));
|
|
|
|
info("Wait until the chevron menu button is available");
|
|
await waitUntil(() => toolbox.doc.querySelector(".tools-chevron-menu"));
|
|
|
|
chevronMenuButton = toolbox.doc.querySelector(".tools-chevron-menu");
|
|
ok(chevronMenuButton, "The chevron menu button is displayed");
|
|
|
|
info(
|
|
"Open the tools-chevron-menupopup and verify that the inspector button is checked"
|
|
);
|
|
await openChevronMenu(toolbox);
|
|
|
|
const inspectorButton = toolbox.doc.querySelector(
|
|
"#tools-chevron-menupopup-inspector"
|
|
);
|
|
ok(!inspectorButton, "The chevron menu doesn't have the inspector button.");
|
|
|
|
const consoleButton = toolbox.doc.querySelector(
|
|
"#tools-chevron-menupopup-webconsole"
|
|
);
|
|
ok(!consoleButton, "The chevron menu doesn't have the console button.");
|
|
|
|
const storageButton = toolbox.doc.querySelector(
|
|
"#tools-chevron-menupopup-storage"
|
|
);
|
|
ok(storageButton, "The chevron menu has the storage button.");
|
|
|
|
info("Switch to the performance using the tools-chevron-menupopup popup");
|
|
const onSelected = toolbox.once("storage-selected");
|
|
storageButton.click();
|
|
await onSelected;
|
|
|
|
info("Restore the original window size");
|
|
onResize = once(hostWindow, "resize");
|
|
hostWindow.resizeTo(originalWidth, originalHeight);
|
|
await onResize;
|
|
});
|