summaryrefslogtreecommitdiff
path: root/tests/test.proto
blob: e790cbf06d729e47cdb20682bfee2e09081fe646 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68

// A series of messages with various kinds of cycles in them.
//      +-+---+    +---+    +---+
//      V |   |    V   |    V   |
// A -> B-+-> C -> D---+--->E---+
// ^          |`---|--------^
// +----------+----+        F

syntax = "proto2";

message A {
  optional B b = 1;
}

message B {
  optional B b = 1;
  optional C c = 2;
}

message C {
  optional A a = 1;
  optional B b = 2;
  optional D d = 3;
  optional E e = 4;
}

message D {
  optional A a = 1;
  optional D d = 2;
  optional E e = 3;
}

message E {
  optional E e = 1;
}

message F {
  optional E e = 1;
}

// A proto with a bunch of simple primitives.
message SimplePrimitives {
  optional fixed64 u64 = 1;
  optional fixed32 u32 = 2;
  optional double dbl = 3;
  optional float flt = 5;
  optional sint64 i64 = 6;
  optional sint32 i32 = 7;
  optional bool b = 8;
  optional string str = 9;

  oneof foo {
    int32 oneof_int32 = 10;
    string oneof_string = 11;
  }

  oneof bar {
    int64 oneof_int64 = 13;
    bytes oneof_bytes = 14;
  }

  message Nested {
    oneof foo {
      int32 oneof_int32 = 10;
      string b = 11;
    }
  }
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback