blob: dd86e94fde47c21069b1080082021e0533290e24 [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
success("RecursiveOptionalStruct") {
value = RecursiveOptionalBasicStruct{
inner: RecursiveOptionalBasicStruct{
inner: RecursiveOptionalBasicStruct{
inner: null,
},
},
},
bytes = {
v2 = [
repeat(0xff):8,
repeat(0xff):8,
repeat(0x00):8,
],
},
}
success("RecursiveVectorStruct") {
// TODO(https://fxbug.dev/42169988) Enable this test for Rust.
bindings_denylist = [rust],
value = RecursiveVectorStruct{
vec: [
RecursiveVectorStruct{
vec: [
RecursiveVectorStruct{
vec: [],
},
],
},
],
},
bytes = {
v2 = [
num(1):8,
repeat(0xff):8,
num(1):8,
repeat(0xff):8,
num(0):8,
repeat(0xff):8,
],
},
}
success("RecursiveUnionStruct") {
value = RecursiveUnionStruct{
u: RecursiveUnion{
s: RecursiveUnionStruct{
u: RecursiveUnion{
s: RecursiveUnionStruct{
u: null,
},
},
},
},
},
bytes = {
v2 = [
num(1):8,
num(32):4, num(0):2, num(0):2,
num(1):8,
num(16):4, num(0):2, num(0):2,
num(0):8,
num(0):4, num(0):2, num(0):2,
],
},
}
success("RecursiveTableStruct") {
value = RecursiveTableHolder{
t: RecursiveTable{
s: RecursiveTableOptionalHolder{
o: RecursiveTableHolder{
t: RecursiveTable{
s: RecursiveTableOptionalHolder{
o: RecursiveTableHolder{
t: RecursiveTable{
s: RecursiveTableOptionalHolder{
o: null,
},
},
},
},
},
},
},
},
},
bytes = {
v2 = [
num(1):8,
repeat(0xff):8,
num(72):4, num(0):2, num(0):2,
repeat(0xff):8,
num(1):8,
repeat(0xff):8,
num(40):4, num(0):2, num(0):2,
repeat(0xff):8,
num(1):8,
repeat(0xff):8,
num(8):4, num(0):2, num(0):2,
repeat(0x00):8,
],
},
}