From 99ea260af44457ec73d066adcb08941f29732c1e Mon Sep 17 00:00:00 2001 From: ayuan9957 <107920784+ayuan9957@users.noreply.github.com> Date: Tue, 23 Jun 2026 21:56:00 +0800 Subject: [PATCH] test(editor): cover create undo selection state --- tests/MetaCoreSmokeTests.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/MetaCoreSmokeTests.cpp b/tests/MetaCoreSmokeTests.cpp index c96b3eb..a6a6add 100644 --- a/tests/MetaCoreSmokeTests.cpp +++ b/tests/MetaCoreSmokeTests.cpp @@ -345,12 +345,16 @@ void MetaCoreTestHierarchyEditingCommandsDirtyAndUndo() { std::optional{0} ); MetaCoreExpect(createdId.has_value(), "CreateGameObject command should create an object"); + MetaCoreExpect(editorContext.GetActiveObjectId() == *createdId, "CreateGameObject command should select the created object"); MetaCoreExpect(scenePersistenceService->IsSceneDirty(), "CreateGameObject command should mark scene dirty"); MetaCoreExpect(editorContext.UndoCommand(), "Undo CreateGameObject should succeed"); MetaCoreExpect(scene.GetGameObjects().size() == baselineCount, "Undo CreateGameObject should restore object count"); + MetaCoreExpect(editorContext.GetActiveObjectId() == 0, "Undo CreateGameObject should restore previous empty active selection"); + MetaCoreExpect(editorContext.GetSelectedObjectIds().empty(), "Undo CreateGameObject should restore previous empty selection"); MetaCoreExpect(!scenePersistenceService->IsSceneDirty(), "Undo CreateGameObject should restore clean baseline"); MetaCoreExpect(editorContext.RedoCommand(), "Redo CreateGameObject should succeed"); MetaCoreExpect(scene.FindGameObject(*createdId), "Redo CreateGameObject should restore created object"); + MetaCoreExpect(editorContext.GetActiveObjectId() == *createdId, "Redo CreateGameObject should restore created object selection"); MetaCoreExpect(scenePersistenceService->IsSceneDirty(), "Redo CreateGameObject should mark scene dirty again"); MetaCoreExpect(scenePersistenceService->SaveCurrentScene(editorContext), "Hierarchy command scene should save after create");