Fix workbench dark theme and enlarge dialogs

This commit is contained in:
Miayui
2026-09-18 09:11:59 +08:00
parent c812a1a595
commit e920a92505
18 changed files with 328 additions and 49 deletions
@@ -51,21 +51,59 @@ def test_workbench_exposes_artifact_actions_and_always_starts_a_new_task() -> No
assert "已发布,待车机端下载升级" not in script
assert 'id = "firmwareWorkbenchToggle"' in entry
assert 'className = "firmware-workbench-layer"' in entry
assert "/firmware-workbench-entry.js?v=2" in index
assert "/firmware-workbench-entry.css?v=1" in index
assert "/firmware-workbench-entry.js?v=3" in index
assert "/firmware-workbench-entry.css?v=2" in index
for asset in (
"/firmware-workbench-entry.css?v=1",
"/firmware-workbench-entry.js?v=2",
"/firmware-workbench-entry.css?v=2",
"/firmware-workbench-entry.js?v=3",
"/firmware-workbench.html",
"/firmware-workbench.css?v=5",
"/firmware-workbench-theme.js?v=1",
"/firmware-workbench.css?v=6",
"/firmware-workbench.js?v=3",
):
assert f'"{asset}"' in worker
for runtime_file in (
"firmware-workbench-entry.js",
"firmware-workbench-entry.css",
"firmware-workbench-theme.js",
"firmware-workbench.html",
"firmware-workbench.js",
"firmware-workbench.css",
):
assert f'"{runtime_file}"' in vite
def test_workbench_inherits_live_theme_and_uses_the_larger_dialog_frame() -> None:
html = source("firmware-workbench.html")
entry = source("firmware-workbench-entry.js")
entry_styles = source("firmware-workbench-entry.css")
workbench_styles = source("firmware-workbench.css")
theme = source("firmware-workbench-theme.js")
assert 'content="light dark"' in html
assert 'id="firmwareWorkbenchThemeColor"' in html
assert '/firmware-workbench-theme.js?v=1' in html
assert 'data-glass-theme="dark"' in workbench_styles
assert 'window.parent?.document?.documentElement?.dataset?.glassTheme' in theme
assert 'event.data?.type !== "cognitive-agent:theme-change"' in theme
assert 'window.addEventListener("cognitive-agent:theme-change"' in entry
assert 'attributeFilter: ["data-glass-theme"]' in entry
assert 'width: min(1480px, 100%);' in entry_styles
assert 'height: min(900px, 100%);' in entry_styles
assert 'width: min(1040px, 100%);' in workbench_styles
assert 'max-height: min(820px, calc(100dvh - 48px));' in workbench_styles
def test_peer_dialogs_share_the_expanded_desktop_size_contract() -> None:
gallery = source("styles.css")
energy = source("energy-monitor.css")
extension = source("self-extension.css")
assert 'width: min(1320px, calc(100vw - 32px));' in gallery
assert 'height: min(860px, calc(100dvh - 32px));' in gallery
assert 'width: min(1480px, 100%);' in energy
assert 'height: min(900px, 100%);' in energy
assert 'width: min(780px, calc(100vw - 32px));' in extension
assert 'width: min(960px, calc(100vw - 30px));' in extension
assert 'width: min(1180px, calc(100vw - 28px));' in extension
assert 'width: min(980px, calc(100vw - 32px));' in extension