feat(xcui): advance core and editor validation flow
This commit is contained in:
@@ -1,19 +1,56 @@
|
||||
# Editor UI Integration Validation
|
||||
|
||||
This directory contains the manual XCUI validation system for editor-facing scenarios.
|
||||
This directory contains editor-only XCUI manual validation scenarios.
|
||||
|
||||
Structure:
|
||||
Current status:
|
||||
|
||||
- `shared/`: shared host, native renderer, screenshot helper, scenario registry
|
||||
- `input/`: input-related validation category
|
||||
- `layout/`: layout and shell-foundation validation category
|
||||
- Shared Core primitives remain in `tests/UI/Core/integration/`.
|
||||
- Only editor-only host, shell, widget, and domain-integrated validation should live here.
|
||||
- The first authored scenario is `workspace_shell_compose/`, focused on shell compose only:
|
||||
splitters, tab host, panel chrome placeholders, and hot reload.
|
||||
- The second scenario is `state/panel_session_flow/`, focused on editor command dispatch and panel session state only:
|
||||
`command dispatch + workspace controller + open / close / show / hide / activate`.
|
||||
|
||||
Rules:
|
||||
Layout:
|
||||
|
||||
- One scenario directory maps to one executable.
|
||||
- Do not accumulate unrelated checks into one monolithic app.
|
||||
- Shared infrastructure belongs in `shared/`, not duplicated per scenario.
|
||||
- Screenshots are stored per scenario inside that scenario's `captures/` folder.
|
||||
- `shared/`: editor validation scenario registry, Win32 host wrapper, shared theme
|
||||
- `workspace_shell_compose/`: first manual editor shell compose scenario
|
||||
- `state/panel_session_flow/`: custom host scenario for editor panel session state flow
|
||||
|
||||
Current scenario:
|
||||
|
||||
- Scenario id: `editor.shell.workspace_compose`
|
||||
- Build target: `editor_ui_workspace_shell_compose_validation`
|
||||
- Executable name: `XCUIEditorWorkspaceShellComposeValidation`
|
||||
- Validation scope: split/tab/panel shell compose only, no business panels
|
||||
|
||||
Additional scenario:
|
||||
|
||||
- Scenario id: `editor.state.panel_session_flow`
|
||||
- Build target: `editor_ui_panel_session_flow_validation`
|
||||
- Executable name: `XCUIEditorPanelSessionFlowValidation`
|
||||
- Validation scope: editor command dispatch and panel session state only, no business panels
|
||||
|
||||
Run:
|
||||
|
||||
```bash
|
||||
cmake --build build --config Debug --target editor_ui_workspace_shell_compose_validation
|
||||
```
|
||||
|
||||
Then launch `XCUIEditorWorkspaceShellComposeValidation.exe` from the build output, or run it from your IDE by target name.
|
||||
|
||||
Controls:
|
||||
|
||||
- Drag authored splitters to verify live resize and min clamps.
|
||||
- Click `Document A/B/C` to verify only the selected tab placeholder is visible.
|
||||
- Press `F12` to write screenshots into `workspace_shell_compose/captures/`.
|
||||
- Authored `.xcui` and `.xctheme` changes hot reload while the host is running.
|
||||
|
||||
Panel session flow controls:
|
||||
|
||||
- Click `Hide Active / Show Doc A / Close Doc B / Open Doc B / Activate Details / Reset`.
|
||||
- Check `Last command` shows `Changed / NoOp / Rejected` consistently with the current state.
|
||||
- Press `F12` to write screenshots into `state/panel_session_flow/captures/`.
|
||||
|
||||
Build:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user