Editor UI Integration Validation
This directory contains editor-only XCUI manual validation scenarios.
Current status:
- 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. - The third scenario is
state/layout_persistence/, focused on editor layout save/load/reset only:layout snapshot + serialize / deserialize + invalid payload reject.
Layout:
shared/: editor validation scenario registry, Win32 host wrapper, shared themeworkspace_shell_compose/: first manual editor shell compose scenariostate/panel_session_flow/: custom host scenario for editor panel session state flowstate/layout_persistence/: custom host scenario for editor layout persistence 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
Additional scenario:
- Scenario id:
editor.state.layout_persistence - Build target:
editor_ui_layout_persistence_validation - Executable name:
XCUIEditorLayoutPersistenceValidation - Validation scope: layout save / load / reset / invalid payload reject only, no business panels
Run:
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/Cto verify only the selected tab placeholder is visible. - Press
F12to write screenshots intoworkspace_shell_compose/captures/. - Authored
.xcuiand.xcthemechanges 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 commandshowsChanged / NoOp / Rejectedconsistently with the current state. - Press
F12to write screenshots intostate/panel_session_flow/captures/.
Layout persistence controls:
- Click
Hide Active -> Save Layout -> Close Doc B -> Load Layout. - Check
Savedsummary captures the expected active/visible state, andLoad Layoutrestores it. - Click
Load Invalidand confirm the result isRejectedwhile current state remains unchanged. - Press
F12to write screenshots intostate/layout_persistence/captures/.
Build:
cmake --build build --config Debug --target editor_ui_integration_tests