Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2022-07-27 13:09:32 +0300
committerBastien Montagne <bastien@blender.org>2022-07-27 16:33:29 +0300
commit58dcd2099876d679f7bc51901c82b2f04e9ce659 (patch)
treee8d501ed12d55787762dc89751a048a25d75bb85 /source/blender/blenkernel/intern/lib_id_test.cc
parent4843b161d6cc14045f05d8df76f39795d5fcc6b3 (diff)
ID namemap: Fix more issues when changing libs.
Fix tests, and some issue when making an ID local. There are probably a few more issues still though.
Diffstat (limited to 'source/blender/blenkernel/intern/lib_id_test.cc')
-rw-r--r--source/blender/blenkernel/intern/lib_id_test.cc15
1 files changed, 8 insertions, 7 deletions
diff --git a/source/blender/blenkernel/intern/lib_id_test.cc b/source/blender/blenkernel/intern/lib_id_test.cc
index 62066204227..d12e0c52870 100644
--- a/source/blender/blenkernel/intern/lib_id_test.cc
+++ b/source/blender/blenkernel/intern/lib_id_test.cc
@@ -65,6 +65,7 @@ static void change_lib(Main *bmain, ID *id, Library *lib)
}
BKE_main_namemap_remove_name(bmain, id, id->name + 2);
id->lib = lib;
+ BKE_main_namemap_get_name(bmain, id, id->name + 2);
}
static void change_name(Main *bmain, ID *id, const char *name)
@@ -85,25 +86,27 @@ TEST(lib_id_main_sort, linked_ids_1)
ID *id_a = static_cast<ID *>(BKE_id_new(ctx.bmain, ID_OB, "OB_A"));
ID *id_b = static_cast<ID *>(BKE_id_new(ctx.bmain, ID_OB, "OB_B"));
- id_a->lib = lib_a;
+ change_lib(ctx.bmain, id_a, lib_a);
id_sort_by_name(&ctx.bmain->objects, id_a, nullptr);
- id_b->lib = lib_a;
+ change_lib(ctx.bmain, id_b, lib_a);
id_sort_by_name(&ctx.bmain->objects, id_b, nullptr);
EXPECT_TRUE(ctx.bmain->objects.first == id_c);
EXPECT_TRUE(ctx.bmain->objects.last == id_b);
test_lib_id_main_sort_check_order({id_c, id_a, id_b});
- id_a->lib = lib_b;
+ change_lib(ctx.bmain, id_a, lib_b);
id_sort_by_name(&ctx.bmain->objects, id_a, nullptr);
EXPECT_TRUE(ctx.bmain->objects.first == id_c);
EXPECT_TRUE(ctx.bmain->objects.last == id_a);
test_lib_id_main_sort_check_order({id_c, id_b, id_a});
- id_b->lib = lib_b;
+ change_lib(ctx.bmain, id_b, lib_b);
id_sort_by_name(&ctx.bmain->objects, id_b, nullptr);
EXPECT_TRUE(ctx.bmain->objects.first == id_c);
EXPECT_TRUE(ctx.bmain->objects.last == id_b);
test_lib_id_main_sort_check_order({id_c, id_a, id_b});
+
+ EXPECT_TRUE(BKE_main_namemap_validate(ctx.bmain));
}
TEST(lib_id_main_unique_name, local_ids_1)
@@ -184,9 +187,7 @@ TEST(lib_id_main_unique_name, ids_sorted_by_default)
static ID *add_id_in_library(Main *bmain, const char *name, Library *lib)
{
ID *id = static_cast<ID *>(BKE_id_new(bmain, ID_OB, name));
- BKE_main_namemap_remove_name(bmain, id, id->name + 2);
- id->lib = lib;
- BKE_main_namemap_get_name(bmain, id, id->name + 2);
+ change_lib(bmain, id, lib);
id_sort_by_name(&bmain->objects, id, nullptr);
return id;
}