Files
XCEngine/tests/UI/Editor/integration/README.md

3.2 KiB

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 theme
  • workspace_shell_compose/: first manual editor shell compose scenario
  • state/panel_session_flow/: custom host scenario for editor panel session state flow
  • state/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/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/.

Layout persistence controls:

  • Click Hide Active -> Save Layout -> Close Doc B -> Load Layout.
  • Check Saved summary captures the expected active/visible state, and Load Layout restores it.
  • Click Load Invalid and confirm the result is Rejected while current state remains unchanged.
  • Press F12 to write screenshots into state/layout_persistence/captures/.

Build:

cmake --build build --config Debug --target editor_ui_integration_tests