Przeglądaj źródła

test: ::context() for meta objects

skypjack 8 godzin temu
rodzic
commit
627ed2a2de

+ 7 - 0
test/entt/meta/meta_base.cpp

@@ -72,6 +72,13 @@ TEST_F(MetaBase, Comparison) {
     ASSERT_TRUE(base == base);
 }
 
+TEST_F(MetaBase, Context) {
+    const auto type = entt::resolve<base_3>();
+    const auto base = type.base().begin()->second;
+
+    ASSERT_EQ(&base.context(), &type.context());
+}
+
 TEST_F(MetaBase, Type) {
     const auto type = entt::resolve<base_3>();
     const auto iterable = type.base();

+ 9 - 0
test/entt/meta/meta_data.cpp

@@ -200,6 +200,15 @@ TEST_F(MetaData, Comparison) {
     ASSERT_TRUE(data == data);
 }
 
+TEST_F(MetaData, Context) {
+    using namespace entt::literals;
+
+    const auto type = entt::resolve<clazz>();
+    const auto data = type.data("i"_hs);
+
+    ASSERT_EQ(&data.context(), &type.context());
+}
+
 TEST_F(MetaData, NonConst) {
     using namespace entt::literals;
 

+ 9 - 0
test/entt/meta/meta_func.cpp

@@ -232,6 +232,15 @@ TEST_F(MetaFunc, Comparison) {
     ASSERT_TRUE(func == func);
 }
 
+TEST_F(MetaFunc, Context) {
+    using namespace entt::literals;
+
+    const auto type = entt::resolve<function>();
+    const auto func = type.func("f2"_hs);
+
+    ASSERT_EQ(&func.context(), &type.context());
+}
+
 TEST_F(MetaFunc, NonConst) {
     using namespace entt::literals;
 

+ 9 - 0
test/entt/meta/meta_type.cpp

@@ -215,6 +215,15 @@ TEST_F(MetaType, Resolve) {
     ASSERT_TRUE(found);
 }
 
+TEST_F(MetaType, Context) {
+    using namespace entt::literals;
+
+    const auto type = entt::resolve<clazz>();
+    const auto &cxt = entt::locator<entt::meta_ctx>::value_or();
+
+    ASSERT_EQ(&type.context(), &cxt);
+}
+
 TEST_F(MetaType, SafeWhenEmpty) {
     using namespace entt::literals;