mirror of
https://github.com/JakeHillion/object-introspection.git
synced 2024-11-09 21:24:14 +00:00
46 lines
997 B
C++
46 lines
997 B
C++
#include <gtest/gtest.h>
|
|
|
|
#include "oi/type_graph/EnforceCompatibility.h"
|
|
#include "test/type_graph_utils.h"
|
|
|
|
using namespace type_graph;
|
|
|
|
TEST(EnforceCompatibilityTest, ParentContainers) {
|
|
test(EnforceCompatibility::createPass(), R"(
|
|
[0] Class: MyClass (size: 24)
|
|
Member: __oi_parent (offset: 0)
|
|
[1] Container: std::vector (size: 24)
|
|
Param
|
|
Primitive: int32_t
|
|
)",
|
|
R"(
|
|
[0] Class: MyClass (size: 24)
|
|
)");
|
|
}
|
|
|
|
TEST(EnforceCompatibilityTest, TypesToStub) {
|
|
test(EnforceCompatibility::createPass(), R"(
|
|
[0] Class: EnumMap (size: 8)
|
|
Member: a (offset: 0)
|
|
Primitive: int32_t
|
|
Member: b (offset: 4)
|
|
Primitive: int32_t
|
|
)",
|
|
R"(
|
|
[0] Class: EnumMap (size: 8)
|
|
)");
|
|
}
|
|
|
|
TEST(EnforceCompatibilityTest, VoidPointer) {
|
|
test(EnforceCompatibility::createPass(), R"(
|
|
[0] Class: MyClass (size: 8)
|
|
Member: p (offset: 0)
|
|
[1] Pointer
|
|
Incomplete
|
|
Primitive: void
|
|
)",
|
|
R"(
|
|
[0] Class: MyClass (size: 8)
|
|
)");
|
|
}
|