#define CR_HOST #include #include #include #include "../../../common/emitter.h" #include "../../../common/value_type.h" TEST(Emitter, Plugin) { test::emitter emitter; int value{}; ASSERT_EQ(value, 0); emitter.on([&](test::boxed_int msg, test::emitter &owner) { value = msg.value; owner.erase(); }); cr_plugin ctx; cr_plugin_load(ctx, PLUGIN); ctx.userdata = &emitter; cr_plugin_update(ctx); ASSERT_EQ(value, 4); emitter = {}; cr_plugin_close(ctx); }