#define CR_HOST #include #include #include #include #include struct listener { void on(test::boxed_int msg) { value = msg.value; } int value{}; }; TEST(Lib, Dispatcher) { entt::dispatcher dispatcher; test::listener listener; ASSERT_EQ(listener.value, 0); dispatcher.sink().connect<&test::listener::on>(listener); cr_plugin ctx; cr_plugin_load(ctx, PLUGIN); ctx.userdata = &dispatcher; cr_plugin_update(ctx); ASSERT_EQ(listener.value, 4); dispatcher = {}; cr_plugin_close(ctx); }