Merge commit 'remotes/trunk'
[amiethrift.git] / test / ThriftTest.thrift
blob8c91cb7f5466e250a5193f11ea4b247210d69137
1 java_package thrift.test
2 cpp_namespace thrift.test
3 ruby_namespace Thrift.Test
4 perl_package ThriftTest
5 csharp_namespace Thrift.Test
7 enum Numberz
9   ONE = 1,
10   TWO,
11   THREE,
12   FIVE = 5,
13   SIX,
14   EIGHT = 8
17 typedef i64 UserId
19 struct Bonk
21   1: string message,
22   2: i32 type
25 struct Xtruct
27   1:  string string_thing,
28   4:  byte   byte_thing,
29   9:  i32    i32_thing,
30   11: i64    i64_thing
33 struct Xtruct2
35   1: byte   byte_thing,
36   2: Xtruct struct_thing,
37   3: i32    i32_thing
40 struct Insanity
42   1: map<Numberz, UserId> userMap,
43   2: list<Xtruct> xtructs
46 exception Xception {
47   1: i32 errorCode,
48   2: string message
51 exception Xception2 {
52   1: i32 errorCode,
53   2: Xtruct struct_thing
56 struct EmptyStruct {}
58 struct OneField {
59   1: EmptyStruct field
62 service ThriftTest
64   void         testVoid(),
65   string       testString(1: string thing),
66   byte         testByte(1: byte thing),
67   i32          testI32(1: i32 thing),
68   i64          testI64(1: i64 thing),
69   double       testDouble(1: double thing),
70   Xtruct       testStruct(1: Xtruct thing),
71   Xtruct2      testNest(1: Xtruct2 thing),
72   map<i32,i32> testMap(1: map<i32,i32> thing),
73   set<i32>     testSet(1: set<i32> thing),
74   list<i32>    testList(1: list<i32> thing),
75   Numberz      testEnum(1: Numberz thing),
76   UserId       testTypedef(1: UserId thing),
78   map<i32,map<i32,i32>> testMapMap(1: i32 hello),
80   /* So you think you've got this all worked, out eh? */
81   map<UserId, map<Numberz,Insanity>> testInsanity(1: Insanity argument),
83   /* Multiple parameters */
84   Xtruct testMulti(byte arg0, i32 arg1, i64 arg2, map<i16, string> arg3, Numberz arg4, UserId arg5),
86   /* Exception specifier */
88   void testException(string arg) throws(Xception err1),
90   /* Multiple exceptions specifier */
92   Xtruct testMultiException(string arg0, string arg1) throws(Xception err1, Xception2 err2)
95 service SecondService
97   void blahBlah()