object-introspection/test/integration/std_optional.toml

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

71 lines
1.5 KiB
TOML
Raw Normal View History

2022-12-19 14:37:51 +00:00
includes = ["optional", "cstdint", "vector"]
[cases]
[cases.uint64_empty]
param_types = ["std::optional<std::uint64_t>&"]
setup = "return std::nullopt;"
expect_json = '''
[
{
"staticSize": 16,
"dynamicSize": 0,
2023-03-03 20:09:51 +00:00
"exclusiveSize": 16,
2022-12-19 14:37:51 +00:00
"length": 0,
"capacity": 1,
"elementStaticSize": 8
}
]
'''
[cases.uint64_present]
param_types = ["std::optional<std::uint64_t>&"]
setup = "return 64;"
expect_json = '''
[
{
"staticSize": 16,
"dynamicSize": 0,
2023-03-03 20:09:51 +00:00
"exclusiveSize": 16,
2022-12-19 14:37:51 +00:00
"length": 1,
"capacity": 1,
"elementStaticSize": 8
}
]
'''
[cases.vector_empty]
param_types = ["std::optional<std::vector<std::uint64_t>>&"]
setup = "return std::nullopt;"
expect_json = '''
[
{
"staticSize": 32,
"dynamicSize": 0,
2023-03-03 20:09:51 +00:00
"exclusiveSize": 32,
2022-12-19 14:37:51 +00:00
"length": 0,
"capacity": 1,
"elementStaticSize": 24
}
]
'''
[cases.vector_present]
param_types = ["std::optional<std::vector<std::uint64_t>>&"]
setup = "return {{{1,2,3,4,5}}};"
expect_json = '''
[
{
"staticSize": 32,
"dynamicSize": 40,
2023-03-03 20:09:51 +00:00
"exclusiveSize": 8,
2022-12-19 14:37:51 +00:00
"length": 1,
"capacity": 1,
"elementStaticSize": 24,
"members": [
{
"staticSize": 24,
"dynamicSize": 40,
2023-03-03 20:09:51 +00:00
"exclusiveSize": 64,
2022-12-19 14:37:51 +00:00
"length": 5
}
]
}
]
'''