test: rework lib stuff to share common files

This commit is contained in:
Michele Caini
2023-01-18 10:17:54 +01:00
parent a3d9503a17
commit f94de1c069
34 changed files with 28 additions and 24 deletions

View File

@@ -0,0 +1,8 @@
#include <entt/core/attribute.h>
#include "types.h"
ENTT_API void emit(test_emitter &emitter) {
emitter.publish(event{});
emitter.publish(message{42});
emitter.publish(message{3});
}

View File

@@ -0,0 +1,21 @@
#include <gtest/gtest.h>
#include <entt/core/attribute.h>
#include "types.h"
ENTT_API void emit(test_emitter &);
TEST(Lib, Emitter) {
test_emitter emitter;
int value{};
ASSERT_EQ(value, 0);
emitter.on<message>([&](message msg, test_emitter &owner) {
value = msg.payload;
owner.erase<message>();
});
emit(emitter);
ASSERT_EQ(value, 42);
}

View File

@@ -0,0 +1,15 @@
#ifndef ENTT_LIB_EMITTER_TYPES_H
#define ENTT_LIB_EMITTER_TYPES_H
#include <entt/signal/emitter.hpp>
struct test_emitter
: entt::emitter<test_emitter> {};
struct message {
int payload;
};
struct event {};
#endif