3 #include "testing/testing.h"
43 if (
bmain ==
nullptr) {
56 if (
bmain !=
nullptr) {
157 TEST(lib_remap, embedded_ids_can_not_be_remapped)
162 EXPECT_NE(
context.test_data.scene,
nullptr);
163 EXPECT_NE(
context.test_data.compositor_nodetree,
nullptr);
167 context.test_data.bmain,
context.test_data.compositor_nodetree, other_tree, 0);
170 EXPECT_NE(
context.test_data.scene->nodetree, other_tree);
175 TEST(lib_remap, embedded_ids_can_not_be_deleted)
179 EXPECT_NE(
context.test_data.scene,
nullptr);
180 EXPECT_NE(
context.test_data.compositor_nodetree,
nullptr);
184 context.test_data.compositor_nodetree,
189 EXPECT_NE(
context.test_data.scene->nodetree,
nullptr);
198 TEST(lib_remap, delete_when_remap_to_self_not_allowed)
202 EXPECT_NE(
context.test_data.mesh,
nullptr);
203 EXPECT_NE(
context.test_data.other_mesh,
nullptr);
218 TEST(lib_remap, users_are_decreased_when_not_skipping_never_null)
222 EXPECT_NE(
context.test_data.object,
nullptr);
232 EXPECT_NE(
context.test_data.object->data,
nullptr);
236 TEST(lib_remap, users_are_same_when_skipping_never_null)
240 EXPECT_NE(
context.test_data.object,
nullptr);
249 EXPECT_NE(
context.test_data.object->data,
nullptr);
259 TEST(lib_remap, do_not_delete_when_cannot_unset)
263 EXPECT_NE(
context.test_data.object,
nullptr);
269 EXPECT_NE(
context.test_data.object->data,
nullptr);
272 TEST(lib_remap, force_never_null_usage)
276 EXPECT_NE(
context.test_data.object,
nullptr);
284 TEST(lib_remap, never_null_usage_flag_not_requested_on_delete)
288 EXPECT_NE(
context.test_data.object,
nullptr);
296 EXPECT_NE(
context.test_data.object->data,
nullptr);
300 TEST(lib_remap, never_null_usage_flag_requested_on_delete)
304 EXPECT_NE(
context.test_data.object,
nullptr);
314 EXPECT_NE(
context.test_data.object->data,
nullptr);
318 TEST(lib_remap, never_null_usage_flag_not_requested_on_remap)
323 EXPECT_NE(
context.test_data.object,
nullptr);
334 TEST(lib_remap, never_null_usage_flag_requested_on_remap)
339 EXPECT_NE(
context.test_data.object,
nullptr);
void BKE_appdir_init(void)
void BKE_appdir_exit(void)
void CTX_data_scene_set(bContext *C, struct Scene *scene)
bContext * CTX_create(void)
void CTX_free(bContext *C)
void CTX_data_main_set(bContext *C, struct Main *bmain)
void BKE_idtype_init(void)
void * BKE_id_new_nomain(short type, const char *name)
void BKE_id_free(struct Main *bmain, void *idv)
@ ID_REMAP_SKIP_NEVER_NULL_USAGE
@ ID_REMAP_FLAG_NEVER_NULL_USAGE
@ ID_REMAP_FORCE_NEVER_NULL_USAGE
void void BKE_libblock_remap(struct Main *bmain, void *old_idv, void *new_idv, short remap_flags) ATTR_NONNULL(1
struct Main * BKE_main_new(void)
void BKE_main_free(struct Main *mainvar)
struct Mesh * BKE_mesh_add(struct Main *bmain, const char *name)
void BKE_node_system_exit(void)
void BKE_node_system_init(void)
General operations, lookup, etc. for blender objects.
struct Object * BKE_object_add_only_object(struct Main *bmain, int type, const char *name) ATTR_RETURNS_NONNULL
struct Scene * BKE_scene_add(struct Main *bmain, const char *name)
EXPECT_EQ(BLI_expr_pylike_eval(expr, nullptr, 0, &result), EXPR_PYLIKE_INVALID)
Object is a sort of wrapper for general info.
void ED_node_composit_default(const struct bContext *C, struct Scene *scene)
Read Guarded memory(de)allocation.
bNodeTree * compositor_nodetree
TEST(action_groups, ReconstructGroupsWithReordering)
struct bNodeTree * nodetree