main.cpp 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. #include <gtest/gtest.h>
  2. #include <entt/meta/factory.hpp>
  3. #include "types.h"
  4. extern void bind_ctx(entt::meta_ctx);
  5. extern void meta_init();
  6. extern void meta_deinit();
  7. TEST(Lib, Meta) {
  8. ASSERT_FALSE(entt::resolve("double"_hs));
  9. ASSERT_FALSE(entt::resolve("char"_hs));
  10. ASSERT_FALSE(entt::resolve("int"_hs));
  11. ASSERT_FALSE(entt::resolve<int>().data("0"_hs));
  12. ASSERT_FALSE(entt::resolve<char>().data("c"_hs));
  13. bind_ctx(entt::meta_ctx{});
  14. entt::meta<double>().type("double"_hs).conv<int>();
  15. meta_init();
  16. ASSERT_TRUE(entt::resolve("double"_hs));
  17. ASSERT_TRUE(entt::resolve("char"_hs));
  18. ASSERT_TRUE(entt::resolve("int"_hs));
  19. ASSERT_TRUE(entt::resolve<int>().data("0"_hs));
  20. ASSERT_TRUE(entt::resolve<char>().data("c"_hs));
  21. meta_deinit();
  22. entt::meta<double>().reset();
  23. ASSERT_FALSE(entt::resolve("double"_hs));
  24. ASSERT_FALSE(entt::resolve("char"_hs));
  25. ASSERT_FALSE(entt::resolve("int"_hs));
  26. ASSERT_FALSE(entt::resolve<int>().data("0"_hs));
  27. ASSERT_FALSE(entt::resolve<char>().data("c"_hs));
  28. }