2026-04-06 03:17:53 +08:00
|
|
|
# Editor UI Integration Validation
|
|
|
|
|
|
2026-04-06 16:20:46 +08:00
|
|
|
This directory contains editor-only XCUI manual validation scenarios.
|
2026-04-06 03:17:53 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
Rules:
|
2026-04-06 03:17:53 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- 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.
|
2026-04-06 03:17:53 +08:00
|
|
|
|
2026-04-06 16:20:46 +08:00
|
|
|
Layout:
|
2026-04-06 03:17:53 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- `shared/`: shared host wrapper, scenario registry, shared theme
|
|
|
|
|
- `shell/workspace_shell_compose/`: split/tab/panel shell compose only
|
|
|
|
|
- `shell/menu_bar_basic/`: menu bar open/close/hover/dispatch only
|
|
|
|
|
- `state/panel_session_flow/`: panel session state flow only
|
|
|
|
|
- `state/layout_persistence/`: layout save/load/reset only
|
|
|
|
|
- `state/shortcut_dispatch/`: shortcut match/suppression/dispatch only
|
2026-04-06 16:20:46 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
Scenarios:
|
2026-04-06 16:20:46 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- `editor.shell.workspace_shell_compose`
|
|
|
|
|
Build target: `editor_ui_workspace_shell_compose_validation`
|
|
|
|
|
Executable: `XCUIEditorWorkspaceShellComposeValidation.exe`
|
|
|
|
|
Scope: splitters, tab host, panel chrome placeholders, hot reload
|
2026-04-06 16:20:46 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- `editor.shell.menu_bar_basic`
|
|
|
|
|
Build target: `editor_ui_menu_bar_basic_validation`
|
|
|
|
|
Executable: `XCUIEditorMenuBarBasicValidation.exe`
|
|
|
|
|
Scope: menu bar open/close, hover, dismiss, menu command dispatch only
|
2026-04-06 16:20:46 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- `editor.state.panel_session_flow`
|
|
|
|
|
Build target: `editor_ui_panel_session_flow_validation`
|
|
|
|
|
Executable: `XCUIEditorPanelSessionFlowValidation.exe`
|
|
|
|
|
Scope: command dispatch + workspace controller + open/close/show/hide/activate
|
2026-04-06 16:20:46 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- `editor.state.layout_persistence`
|
|
|
|
|
Build target: `editor_ui_layout_persistence_validation`
|
|
|
|
|
Executable: `XCUIEditorLayoutPersistenceValidation.exe`
|
|
|
|
|
Scope: layout snapshot + serialize/deserialize + invalid payload reject
|
2026-04-06 16:59:15 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- `editor.state.shortcut_dispatch`
|
|
|
|
|
Build target: `editor_ui_shortcut_dispatch_validation`
|
|
|
|
|
Executable: `XCUIEditorShortcutDispatchValidation.exe`
|
|
|
|
|
Scope: shortcut match + scope + suppression + command dispatch
|
2026-04-06 16:59:15 +08:00
|
|
|
|
2026-04-06 16:20:46 +08:00
|
|
|
Run:
|
|
|
|
|
|
|
|
|
|
```bash
|
2026-04-06 18:05:34 +08:00
|
|
|
cmake --build build --config Debug --target editor_ui_integration_tests
|
2026-04-06 16:20:46 +08:00
|
|
|
```
|
|
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
Selected controls:
|
2026-04-06 16:20:46 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- `shell/workspace_shell_compose/`
|
|
|
|
|
Drag splitters, switch `Document A/B/C`, press `F12`.
|
2026-04-06 03:17:53 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- `shell/menu_bar_basic/`
|
|
|
|
|
Click `File / Window / Layout`, move the mouse across menu items, click outside the menu or press `Esc`, press `F12`.
|
2026-04-06 16:59:15 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- `state/panel_session_flow/`
|
|
|
|
|
Click `Hide Active / Show Doc A / Close Doc B / Open Doc B / Activate Details / Reset`, press `F12`.
|
2026-04-06 16:59:15 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- `state/layout_persistence/`
|
|
|
|
|
Click `Hide Active -> Save Layout -> Close Doc B -> Load Layout`, click `Load Invalid`, press `F12`.
|
2026-04-06 03:17:53 +08:00
|
|
|
|
2026-04-06 18:05:34 +08:00
|
|
|
- `state/shortcut_dispatch/`
|
|
|
|
|
Press `Ctrl+P / Ctrl+H / Ctrl+W / Ctrl+O / Ctrl+R`, toggle `Text Input`, press `F12`.
|