blob: 70bc85cd88566216172fb80c22aacfa3f4c2dc3d [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
module v23proxy.tests.transcoder_testcases;
import "mojo/public/interfaces/bindings/tests/test_unions.mojom";
struct UnnamedPrimitiveTestStruct {
uint32 A;
string B;
bool C;
float D;
};
struct VarietyOfBitSizesStruct {
bool A;
uint8 B;
uint16 C;
uint32 D;
uint64 E;
string F;
array<int8> H;
map<string, bool> I;
int32 J;
int16 K;
int8 L;
bool M;
bool N;
uint32 O;
};
struct PodUnionWrapper {
mojo.test.PodUnion pod_union;
};
struct ObjectUnionWrapper {
mojo.test.ObjectUnion object_union;
};
enum TestEnum {
A, B, C
};
struct TestBasicStruct {
TestEnum TestEnum;
int32 a;
};
struct TestCyclicStruct {
TestEnum TestEnum;
TestCyclicStruct? TestCyclicStruct;
int32 a;
};
// Mirrors the Customer benchmark type from the VOM benchmarks (see v.io/v23/vom/internal/perf_test.go).
struct Customer {
string Name;
int64 Id;
bool Active;
AddressInfo Address;
CreditReport Credit;
};
struct AddressInfo {
string Street;
string City;
string State;
string Zip;
};
enum CreditAgency {
Equifax,
Experian,
TransUnion,
};
enum ExperianRating {
Good,
Bad,
};
struct EquifaxCreditReport {
uint8 Rating;
};
struct ExperianCreditReport {
ExperianRating Rating;
};
struct TransUnionCreditReport {
int16 Rating;
};
union AgencyReport {
EquifaxCreditReport EquifaxReport;
ExperianCreditReport ExperianReport;
TransUnionCreditReport TransUnionReport;
};
struct CreditReport {
CreditAgency Agency;
AgencyReport Report;
};