3.6 KiB
Editor UI Integration Validation
This directory contains editor-only XCUI manual validation scenarios.
Rules:
- Shared Core primitives stay in
tests/UI/Core/integration/. - Only editor-only shell, host, widget, and domain-integrated validation belongs here.
- Scenarios are organized as
tests/UI/Editor/integration/<category>/<scenario>/. - Each scenario owns its own
captures/directory.
Layout:
shared/: shared host wrapper, scenario registry, shared themeshell/workspace_shell_compose/: split/tab/panel shell compose onlyshell/menu_bar_basic/: menu bar open/close/hover/dispatch onlyshell/panel_frame_basic/: panel frame layout/state/hit-test onlyshell/tab_strip_basic/: tab strip layout/state/hit-test/close/navigation onlystate/panel_session_flow/: panel session state flow onlystate/layout_persistence/: layout save/load/reset onlystate/shortcut_dispatch/: shortcut match/suppression/dispatch only
Scenarios:
-
editor.shell.workspace_shell_composeBuild target:editor_ui_workspace_shell_compose_validationExecutable:XCUIEditorWorkspaceShellComposeValidation.exeScope: splitters, tab host, panel chrome placeholders, hot reload -
editor.shell.menu_bar_basicBuild target:editor_ui_menu_bar_basic_validationExecutable:XCUIEditorMenuBarBasicValidation.exeScope: menu bar open/close, hover, dismiss, menu command dispatch only -
editor.shell.panel_frame_basicBuild target:editor_ui_panel_frame_basic_validationExecutable:XCUIEditorPanelFrameBasicValidation.exeScope: panel frame header/body/footer layout, focus/active/hover chrome, pin/close hit target only -
editor.shell.tab_strip_basicBuild target:editor_ui_tab_strip_basic_validationExecutable:XCUIEditorTabStripBasicValidation.exeScope: tab header layout, selected/hover/focus, close hit target, close fallback, Left/Right/Home/End navigation only -
editor.state.panel_session_flowBuild target:editor_ui_panel_session_flow_validationExecutable:XCUIEditorPanelSessionFlowValidation.exeScope: command dispatch + workspace controller + open/close/show/hide/activate -
editor.state.layout_persistenceBuild target:editor_ui_layout_persistence_validationExecutable:XCUIEditorLayoutPersistenceValidation.exeScope: layout snapshot + serialize/deserialize + invalid payload reject -
editor.state.shortcut_dispatchBuild target:editor_ui_shortcut_dispatch_validationExecutable:XCUIEditorShortcutDispatchValidation.exeScope: shortcut match + scope + suppression + command dispatch
Run:
cmake --build build --config Debug --target editor_ui_integration_tests
Selected controls:
-
shell/workspace_shell_compose/Drag splitters, switchDocument A/B/C, pressF12. -
shell/menu_bar_basic/ClickFile / Window / Layout, move the mouse across menu items, click outside the menu or pressEsc, pressF12. -
shell/panel_frame_basic/Move the mouse over the preview panel, clickBody / Pin / Close, toggleActive / Focus / Closable / Footer, pressF12. -
shell/tab_strip_basic/ClickDocument A / B / C, clickXon closable tabs, click content to focus, pressLeft / Right / Home / End, pressReset, pressF12. -
state/panel_session_flow/ClickHide Active / Show Doc A / Close Doc B / Open Doc B / Activate Details / Reset, pressF12. -
state/layout_persistence/ClickHide Active -> Save Layout -> Close Doc B -> Load Layout, clickLoad Invalid, pressF12. -
state/shortcut_dispatch/PressCtrl+P / Ctrl+H / Ctrl+W / Ctrl+O / Ctrl+R, toggleText Input, pressF12.