From ef261c3c8ecdaf42fa769744463b471cfba4c7ad Mon Sep 17 00:00:00 2001 From: ayuan9957 <107920784+ayuan9957@users.noreply.github.com> Date: Tue, 23 Jun 2026 22:19:57 +0800 Subject: [PATCH] test(editor): cover rename selection undo state --- tests/MetaCoreSmokeTests.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) 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(