diff --git a/tests/MetaCoreSmokeTests.cpp b/tests/MetaCoreSmokeTests.cpp index e757543..819fde6 100644 --- a/tests/MetaCoreSmokeTests.cpp +++ b/tests/MetaCoreSmokeTests.cpp @@ -384,13 +384,21 @@ void MetaCoreTestHierarchyEditingCommandsDirtyAndUndo() { MetaCoreExpect(scenePersistenceService->SaveCurrentScene(editorContext), "Hierarchy command scene should save after forced child create"); MetaCoreExpect(!scenePersistenceService->IsSceneDirty(), "Hierarchy command scene should be clean after forced child create save"); + const MetaCore::MetaCoreId activeBeforeRename = editorContext.GetActiveObjectId(); + const std::vector selectionBeforeRename = editorContext.GetSelectedObjectIds(); MetaCoreExpect(sceneEditingService->RenameGameObject(editorContext, *createdId, "HierarchyObjectRenamed"), "RenameGameObject command should rename object"); + MetaCoreExpect(editorContext.GetActiveObjectId() == activeBeforeRename, "RenameGameObject should keep active selection unchanged"); + MetaCoreExpect(editorContext.GetSelectedObjectIds() == selectionBeforeRename, "RenameGameObject should keep selected object list unchanged"); MetaCoreExpect(scenePersistenceService->IsSceneDirty(), "RenameGameObject command should mark scene dirty"); MetaCoreExpect(editorContext.UndoCommand(), "Undo RenameGameObject should succeed"); MetaCoreExpect(scene.FindGameObject(*createdId).GetName() == "HierarchyObject", "Undo RenameGameObject should restore old name"); + MetaCoreExpect(editorContext.GetActiveObjectId() == activeBeforeRename, "Undo RenameGameObject should restore active selection"); + MetaCoreExpect(editorContext.GetSelectedObjectIds() == selectionBeforeRename, "Undo RenameGameObject should restore selected object list"); MetaCoreExpect(!scenePersistenceService->IsSceneDirty(), "Undo RenameGameObject should restore clean baseline"); MetaCoreExpect(editorContext.RedoCommand(), "Redo RenameGameObject should succeed"); MetaCoreExpect(scene.FindGameObject(*createdId).GetName() == "HierarchyObjectRenamed", "Redo RenameGameObject should restore new name"); + MetaCoreExpect(editorContext.GetActiveObjectId() == activeBeforeRename, "Redo RenameGameObject should restore active selection"); + MetaCoreExpect(editorContext.GetSelectedObjectIds() == selectionBeforeRename, "Redo RenameGameObject should restore selected object list"); MetaCoreExpect(scenePersistenceService->SaveCurrentScene(editorContext), "Hierarchy command scene should save after rename"); const auto parentId = sceneEditingService->CreateGameObject(