2022-12-19 14:37:51 +00:00
|
|
|
includes = ["queue"]
|
|
|
|
[cases]
|
|
|
|
[cases.int_empty]
|
2023-08-16 20:40:36 +01:00
|
|
|
oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/308
|
2022-12-19 14:37:51 +00:00
|
|
|
param_types = ["const std::queue<int>&"]
|
|
|
|
setup = "return {};"
|
|
|
|
expect_json = '''[{
|
|
|
|
"typeName": "queue<int, std::deque<int, std::allocator<int> > >",
|
|
|
|
"staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4,
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"typeName": "deque<int, std::allocator<int> >",
|
|
|
|
"staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4
|
|
|
|
}
|
|
|
|
]}]'''
|
|
|
|
[cases.int_some]
|
2023-08-16 20:40:36 +01:00
|
|
|
oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/308
|
2022-12-19 14:37:51 +00:00
|
|
|
param_types = ["const std::queue<int>&"]
|
|
|
|
setup = "return std::queue<int>({1,2,3});"
|
|
|
|
expect_json = '''[{
|
|
|
|
"typeName": "queue<int, std::deque<int, std::allocator<int> > >",
|
|
|
|
"staticSize": 80, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4,
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"typeName": "deque<int, std::allocator<int> >",
|
|
|
|
"staticSize": 80, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4
|
|
|
|
}
|
|
|
|
]}]'''
|
|
|
|
[cases.queue_int_empty]
|
2023-08-16 20:40:36 +01:00
|
|
|
oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/308
|
2022-12-19 14:37:51 +00:00
|
|
|
param_types = ["const std::queue<std::queue<int>>&"]
|
|
|
|
setup = "return {};"
|
|
|
|
expect_json = '''[{
|
|
|
|
"staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 80,
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 80
|
|
|
|
}
|
|
|
|
]}]'''
|
|
|
|
[cases.queue_int_some]
|
2023-08-16 20:40:36 +01:00
|
|
|
oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/308
|
2022-12-19 14:37:51 +00:00
|
|
|
param_types = ["const std::queue<std::queue<int>>&"]
|
|
|
|
setup = '''
|
|
|
|
return std::queue<std::queue<int>>({
|
|
|
|
std::queue<int>({1,2,3}),
|
|
|
|
std::queue<int>(),
|
|
|
|
std::queue<int>({4,5})
|
|
|
|
});
|
|
|
|
'''
|
|
|
|
expect_json = '''[{
|
|
|
|
"staticSize": 80, "dynamicSize": 260, "length": 3, "capacity": 3, "elementStaticSize": 80,
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"staticSize": 80, "dynamicSize": 260, "length": 3, "capacity": 3, "elementStaticSize": 80,
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"typeName": "queue<int, std::deque<int, std::allocator<int> > >",
|
|
|
|
"staticSize": 80, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4,
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"typeName": "deque<int, std::allocator<int> >",
|
|
|
|
"staticSize": 80, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"typeName": "queue<int, std::deque<int, std::allocator<int> > >",
|
|
|
|
"staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4,
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"typeName": "deque<int, std::allocator<int> >",
|
|
|
|
"staticSize": 80, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"typeName": "queue<int, std::deque<int, std::allocator<int> > >",
|
|
|
|
"staticSize": 80, "dynamicSize": 8, "length": 2, "capacity": 2, "elementStaticSize": 4,
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"typeName": "deque<int, std::allocator<int> >",
|
|
|
|
"staticSize": 80, "dynamicSize": 8, "length": 2, "capacity": 2, "elementStaticSize": 4
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]}]'''
|
|
|
|
[cases.adapter_vector_empty]
|
2023-08-16 20:40:36 +01:00
|
|
|
oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/308
|
2022-12-19 14:37:51 +00:00
|
|
|
param_types = ["const std::queue<int, std::vector<int>>&"]
|
|
|
|
setup = "return {};"
|
|
|
|
expect_json = '''[{
|
|
|
|
"typeName": "queue<int, std::vector<int, std::allocator<int> > >",
|
|
|
|
"staticSize": 24, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4,
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"typeName": "vector<int, std::allocator<int> >",
|
|
|
|
"staticSize": 24, "dynamicSize": 0, "length": 0, "capacity": 0, "elementStaticSize": 4
|
|
|
|
}
|
|
|
|
]}]'''
|
|
|
|
[cases.adapter_vector_some]
|
2023-08-16 20:40:36 +01:00
|
|
|
oil_skip = 'not implemented for treebuilder v2' # https://github.com/facebookexperimental/object-introspection/issues/308
|
2022-12-19 14:37:51 +00:00
|
|
|
param_types = ["const std::queue<int, std::vector<int>>&"]
|
|
|
|
setup = "return std::queue<int, std::vector<int>>({1,2,3});"
|
|
|
|
expect_json = '''[{
|
|
|
|
"typeName": "queue<int, std::vector<int, std::allocator<int> > >",
|
|
|
|
"staticSize": 24, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4,
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"typeName": "vector<int, std::allocator<int> >",
|
|
|
|
"staticSize": 24, "dynamicSize": 12, "length": 3, "capacity": 3, "elementStaticSize": 4
|
|
|
|
}
|
|
|
|
]}]'''
|