main.cpp 567 B

1234567891011121314151617181920212223242526272829
  1. #define CR_HOST
  2. #include <cr.h>
  3. #include <gtest/gtest.h>
  4. #include <entt/core/type_info.hpp>
  5. #include <entt/signal/emitter.hpp>
  6. #include "types.h"
  7. template<typename Type>
  8. struct entt::type_index<Type> {};
  9. TEST(Lib, Emitter) {
  10. test_emitter emitter;
  11. int value{};
  12. ASSERT_EQ(value, 0);
  13. emitter.once<message>([&](message msg, test_emitter &) { value = msg.payload; });
  14. cr_plugin ctx;
  15. ctx.userdata = &emitter;
  16. cr_plugin_load(ctx, PLUGIN);
  17. cr_plugin_update(ctx);
  18. ASSERT_EQ(value, 42);
  19. emitter = {};
  20. cr_plugin_close(ctx);
  21. }