mirror of
https://github.com/JakeHillion/object-introspection.git
synced 2024-11-13 22:06:55 +00:00
65 lines
1.8 KiB
TOML
65 lines
1.8 KiB
TOML
includes = ["vector"]
|
|
definitions = '''
|
|
namespace MyNS {
|
|
enum class ScopedEnum {
|
|
Zero = 0,
|
|
One = 1,
|
|
Two = 2,
|
|
};
|
|
|
|
enum UNSCOPED_ENUM {
|
|
ZERO = 0,
|
|
ONE = 1,
|
|
TWO = 2,
|
|
};
|
|
|
|
enum class EnumWithGaps {
|
|
Five = 5,
|
|
MinusTwo = -2,
|
|
Twenty = 20,
|
|
};
|
|
} // MyNS
|
|
|
|
template <MyNS::ScopedEnum val>
|
|
class MyClass {
|
|
int n;
|
|
};
|
|
|
|
template <MyNS::EnumWithGaps val>
|
|
class ClassGaps {
|
|
int n;
|
|
};
|
|
'''
|
|
|
|
[cases]
|
|
[cases.scoped_enum_type]
|
|
param_types = ["const std::vector<MyNS::ScopedEnum>&"]
|
|
setup = "return {};"
|
|
[cases.scoped_enum_val_cast]
|
|
param_types = ["const std::array<int, static_cast<size_t>(MyNS::ScopedEnum::Two)>&"]
|
|
setup = "return {};"
|
|
expect_json = '[{"staticSize":8, "length":2, "capacity":2, "elementStaticSize":4}]'
|
|
expect_json_v2 = '[{"staticSize":8, "dynamicSize":0, "length":2, "capacity":2}]'
|
|
|
|
[cases.scoped_enum_val]
|
|
param_types = ["const MyClass<MyNS::ScopedEnum::One>&"]
|
|
setup = "return {};"
|
|
expect_json = '[{"staticSize":4, "dynamicSize":0, "exclusiveSize":0}]'
|
|
[cases.scoped_enum_val_gaps]
|
|
param_types = ["const ClassGaps<MyNS::EnumWithGaps::Twenty>&"]
|
|
setup = "return {};"
|
|
expect_json = '[{"staticSize":4, "dynamicSize":0, "exclusiveSize":0}]'
|
|
[cases.scoped_enum_val_negative]
|
|
param_types = ["const ClassGaps<MyNS::EnumWithGaps::MinusTwo>&"]
|
|
setup = "return {};"
|
|
expect_json = '[{"staticSize":4, "dynamicSize":0, "exclusiveSize":0}]'
|
|
|
|
[cases.unscoped_enum_type]
|
|
param_types = ["const std::vector<MyNS::UNSCOPED_ENUM>&"]
|
|
setup = "return {};"
|
|
[cases.unscoped_enum_val_cast]
|
|
param_types = ["const std::array<int, MyNS::ONE>&"]
|
|
setup = "return {};"
|
|
expect_json = '[{"staticSize":4, "length":1, "capacity":1, "elementStaticSize":4}]'
|
|
expect_json_v2 = '[{"staticSize":4, "length":1, "capacity":1}]'
|