object-introspection/test/integration/inheritance_multiple.toml
Jake Hillion 5071519e45 oil v2
2023-08-23 15:59:53 +01:00

48 lines
1.5 KiB
TOML

definitions = '''
struct Base_1 {
int a;
};
struct Base_2 {
int b;
};
struct Base_3 {
int c;
};
struct Derived_1: Base_2, Base_3 {
int d;
};
struct Base_4 {
int e;
};
struct Derived_2: Base_1, Derived_1, Base_4 {
int f;
};
'''
[cases]
[cases.a]
param_types = ["const Derived_2&"]
setup = 'return {};'
expect_json = '''[{
"staticSize":24,
"dynamicSize":0,
"members":[
{"name":"a", "staticSize":4, "dynamicSize":0, "typeName": "int"},
{"name":"b", "staticSize":4, "dynamicSize":0, "typeName": "int"},
{"name":"c", "staticSize":4, "dynamicSize":0, "typeName": "int"},
{"name":"d", "staticSize":4, "dynamicSize":0, "typeName": "int"},
{"name":"e", "staticSize":4, "dynamicSize":0, "typeName": "int"},
{"name":"f", "staticSize":4, "dynamicSize":0, "typeName": "int"}
]}]'''
expect_json_v2 = '''[{
"staticSize":24,
"exclusiveSize":0,
"members":[
{"name":"a", "staticSize":4, "exclusiveSize":4, "typeNames": ["int32_t"]},
{"name":"b", "staticSize":4, "exclusiveSize":4, "typeNames": ["int32_t"]},
{"name":"c", "staticSize":4, "exclusiveSize":4, "typeNames": ["int32_t"]},
{"name":"d", "staticSize":4, "exclusiveSize":4, "typeNames": ["int32_t"]},
{"name":"e", "staticSize":4, "exclusiveSize":4, "typeNames": ["int32_t"]},
{"name":"f", "staticSize":4, "exclusiveSize":4, "typeNames": ["int32_t"]}
]}]'''