diff --git a/test/entt/entity/registry.cpp b/test/entt/entity/registry.cpp index 484ae1f6f..304926ab0 100644 --- a/test/entt/entity/registry.cpp +++ b/test/entt/entity/registry.cpp @@ -1526,7 +1526,7 @@ TEST(Registry, SignalsOnEntity) { ASSERT_EQ(listener.counter, 2); ASSERT_EQ(listener.last, other); - registry.on_construct().disconnect<&listener::incr>(listener); + registry.on_construct().disconnect(&listener); other = registry.create(); entity = registry.create(); @@ -1535,17 +1535,29 @@ TEST(Registry, SignalsOnEntity) { ASSERT_NE(listener.last, entity); ASSERT_NE(listener.last, other); - registry.on_destroy().connect<&listener::decr>(listener); - - registry.destroy(entity); + registry.on_update().connect<&listener::decr>(listener); + registry.patch(entity); ASSERT_EQ(listener.counter, 1); ASSERT_EQ(listener.last, entity); - registry.storage().erase(other); + registry.on_update().disconnect(&listener); + registry.patch(other); + + ASSERT_EQ(listener.counter, 1); + ASSERT_NE(listener.last, other); + + registry.on_destroy().connect<&listener::decr>(listener); + registry.destroy(entity); ASSERT_EQ(listener.counter, 0); - ASSERT_EQ(listener.last, other); + ASSERT_EQ(listener.last, entity); + + registry.on_destroy().disconnect(&listener); + registry.destroy(other); + + ASSERT_EQ(listener.counter, 0); + ASSERT_NE(listener.last, other); } TEST(Registry, SignalWhenDestroying) {