Files
entt/test/lib/meta/main.cpp
2019-12-29 15:16:12 +01:00

35 lines
1.0 KiB
C++

#include <gtest/gtest.h>
#include <entt/meta/factory.hpp>
#include "types.h"
extern void bind_ctx(entt::meta_ctx);
extern void meta_init();
extern void meta_deinit();
TEST(Lib, Meta) {
ASSERT_FALSE(entt::resolve("double"_hs));
ASSERT_FALSE(entt::resolve("char"_hs));
ASSERT_FALSE(entt::resolve("int"_hs));
ASSERT_FALSE(entt::resolve<int>().data("0"_hs));
ASSERT_FALSE(entt::resolve<char>().data("c"_hs));
bind_ctx(entt::meta_ctx{});
entt::meta<double>().type("double"_hs).conv<int>();
meta_init();
ASSERT_TRUE(entt::resolve("double"_hs));
ASSERT_TRUE(entt::resolve("char"_hs));
ASSERT_TRUE(entt::resolve("int"_hs));
ASSERT_TRUE(entt::resolve<int>().data("0"_hs));
ASSERT_TRUE(entt::resolve<char>().data("c"_hs));
meta_deinit();
entt::meta<double>().reset();
ASSERT_FALSE(entt::resolve("double"_hs));
ASSERT_FALSE(entt::resolve("char"_hs));
ASSERT_FALSE(entt::resolve("int"_hs));
ASSERT_FALSE(entt::resolve<int>().data("0"_hs));
ASSERT_FALSE(entt::resolve<char>().data("c"_hs));
}