From 025157a8bf992f9ba1c5398c19f0fe238df0375b Mon Sep 17 00:00:00 2001 From: ayuan9957 <107920784+ayuan9957@users.noreply.github.com> Date: Tue, 23 Jun 2026 17:53:47 +0800 Subject: [PATCH] test(editor): cover forced child object creation --- tests/MetaCoreSmokeTests.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests/MetaCoreSmokeTests.cpp b/tests/MetaCoreSmokeTests.cpp index 11bdfc3..c96b3eb 100644 --- a/tests/MetaCoreSmokeTests.cpp +++ b/tests/MetaCoreSmokeTests.cpp @@ -368,6 +368,18 @@ void MetaCoreTestHierarchyEditingCommandsDirtyAndUndo() { MetaCoreExpect(scenePersistenceService->SaveCurrentScene(editorContext), "Hierarchy command scene should save after forced root create"); MetaCoreExpect(!scenePersistenceService->IsSceneDirty(), "Hierarchy command scene should be clean after forced root create save"); + editorContext.SelectOnly(*createdId); + const auto forcedChildId = sceneEditingService->CreateGameObject( + editorContext, + "ForcedChildObject", + false, + std::optional{*forcedRootId} + ); + MetaCoreExpect(forcedChildId.has_value(), "CreateGameObject with forced child parent should create an object"); + MetaCoreExpect(scene.FindGameObject(*forcedChildId).GetParentId() == *forcedRootId, "CreateGameObject forced child parent should ignore active selection"); + 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"); + MetaCoreExpect(sceneEditingService->RenameGameObject(editorContext, *createdId, "HierarchyObjectRenamed"), "RenameGameObject command should rename object"); MetaCoreExpect(scenePersistenceService->IsSceneDirty(), "RenameGameObject command should mark scene dirty"); MetaCoreExpect(editorContext.UndoCommand(), "Undo RenameGameObject should succeed");