diff --git a/test/entt/meta/meta_factory.cpp b/test/entt/meta/meta_factory.cpp index e1339b706..478e179e9 100644 --- a/test/entt/meta/meta_factory.cpp +++ b/test/entt/meta/meta_factory.cpp @@ -459,5 +459,55 @@ TEST_F(MetaFactory, Meta) { } TEST_F(MetaFactory, MetaReset) { - // TODO + using namespace entt::literals; + + entt::meta_ctx ctx{}; + + entt::meta().type("global"_hs); + entt::meta(ctx).type("local"_hs); + + ASSERT_TRUE(entt::resolve(entt::type_id())); + ASSERT_TRUE(entt::resolve(ctx, entt::type_id())); + + entt::meta_reset(); + + ASSERT_FALSE(entt::resolve(entt::type_id())); + ASSERT_TRUE(entt::resolve(ctx, entt::type_id())); + + entt::meta_reset(ctx); + + ASSERT_FALSE(entt::resolve(entt::type_id())); + ASSERT_FALSE(entt::resolve(ctx, entt::type_id())); + + entt::meta().type("global"_hs); + entt::meta(ctx).type("local"_hs); + + ASSERT_TRUE(entt::resolve(entt::type_id())); + ASSERT_TRUE(entt::resolve(ctx, entt::type_id())); + + entt::meta_reset(); + + ASSERT_FALSE(entt::resolve(entt::type_id())); + ASSERT_TRUE(entt::resolve(ctx, entt::type_id())); + + entt::meta_reset(ctx); + + ASSERT_FALSE(entt::resolve(entt::type_id())); + ASSERT_FALSE(entt::resolve(ctx, entt::type_id())); + + entt::meta().type("global"_hs); + entt::meta(ctx).type("local"_hs); + + ASSERT_TRUE(entt::resolve(entt::type_id())); + ASSERT_TRUE(entt::resolve(ctx, entt::type_id())); + + entt::meta_reset("global"_hs); + + ASSERT_FALSE(entt::resolve(entt::type_id())); + ASSERT_TRUE(entt::resolve(ctx, entt::type_id())); + + entt::meta_reset(ctx, "local"_hs); + + ASSERT_FALSE(entt::resolve(entt::type_id())); + ASSERT_FALSE(entt::resolve(ctx, entt::type_id())); }