diff options
Diffstat (limited to 'tests/scene/test_tree.h')
-rw-r--r-- | tests/scene/test_tree.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/scene/test_tree.h b/tests/scene/test_tree.h index 41ef39d621..e19f8311e2 100644 --- a/tests/scene/test_tree.h +++ b/tests/scene/test_tree.h @@ -108,6 +108,30 @@ TEST_CASE("[SceneTree][Tree]") { memdelete(tree); } + // https://github.com/godotengine/godot/issues/96205 + SUBCASE("[Tree] Get last item after removal.") { + Tree *tree = memnew(Tree); + TreeItem *root = tree->create_item(); + + TreeItem *child1 = tree->create_item(root); + TreeItem *child2 = tree->create_item(root); + + CHECK_EQ(root->get_child_count(), 2); + CHECK_EQ(tree->get_last_item(), child2); + + root->remove_child(child2); + + CHECK_EQ(root->get_child_count(), 1); + CHECK_EQ(tree->get_last_item(), child1); + + root->add_child(child2); + + CHECK_EQ(root->get_child_count(), 2); + CHECK_EQ(tree->get_last_item(), child2); + + memdelete(tree); + } + SUBCASE("[Tree] Previous and Next items.") { Tree *tree = memnew(Tree); TreeItem *root = tree->create_item(); |