Jelajahi Sumber

test: use shared listener type, drop local definitions

Michele Caini 2 tahun lalu
induk
melakukan
72f718458b
2 mengubah file dengan 6 tambahan dan 12 penghapusan
  1. 3 2
      test/lib/dispatcher/plugin/main.cpp
  2. 3 10
      test/lib/dispatcher/shared/main.cpp

+ 3 - 2
test/lib/dispatcher/plugin/main.cpp

@@ -2,6 +2,7 @@
 
 #include <gtest/gtest.h>
 #include <common/boxed_type.h>
+#include <common/listener.h>
 #include <cr.h>
 #include <entt/signal/dispatcher.hpp>
 
@@ -15,11 +16,11 @@ struct listener {
 
 TEST(Lib, Dispatcher) {
     entt::dispatcher dispatcher;
-    listener listener;
+    test::listener<test::boxed_int> listener;
 
     ASSERT_EQ(listener.value, 0);
 
-    dispatcher.sink<test::boxed_int>().connect<&listener::on>(listener);
+    dispatcher.sink<test::boxed_int>().connect<&test::listener<test::boxed_int>::on>(listener);
 
     cr_plugin ctx;
     cr_plugin_load(ctx, PLUGIN);

+ 3 - 10
test/lib/dispatcher/shared/main.cpp

@@ -1,26 +1,19 @@
 #include <gtest/gtest.h>
 #include <common/boxed_type.h>
+#include <common/listener.h>
 #include <entt/core/attribute.h>
 #include <entt/core/utility.hpp>
 #include <entt/signal/dispatcher.hpp>
 
 ENTT_API void trigger(entt::dispatcher &);
 
-struct listener {
-    void on(test::boxed_int msg) {
-        value = msg.value;
-    }
-
-    int value{};
-};
-
 TEST(Lib, Dispatcher) {
     entt::dispatcher dispatcher;
-    listener listener;
+    test::listener<test::boxed_int> listener;
 
     ASSERT_EQ(listener.value, 0);
 
-    dispatcher.sink<test::boxed_int>().connect<entt::overload<void(test::boxed_int)>(&listener::on)>(listener);
+    dispatcher.sink<test::boxed_int>().connect<entt::overload<void(test::boxed_int)>(&test::listener<test::boxed_int>::on)>(listener);
     trigger(dispatcher);
 
     ASSERT_EQ(listener.value, 2);