aboutsummaryrefslogtreecommitdiff
path: root/csharp/protos/extest/unittest_extras_full.proto
diff options
context:
space:
mode:
Diffstat (limited to 'csharp/protos/extest/unittest_extras_full.proto')
-rw-r--r--csharp/protos/extest/unittest_extras_full.proto71
1 files changed, 71 insertions, 0 deletions
diff --git a/csharp/protos/extest/unittest_extras_full.proto b/csharp/protos/extest/unittest_extras_full.proto
new file mode 100644
index 00000000..1b546053
--- /dev/null
+++ b/csharp/protos/extest/unittest_extras_full.proto
@@ -0,0 +1,71 @@
+syntax = "proto2";
+
+package protobuf_unittest_extra;
+
+option csharp_namespace = "Google.ProtocolBuffers.TestProtos";
+option optimize_for = CODE_SIZE;
+option java_package = "com.google.protobuf";
+
+message TestInteropPerson {
+ required string name = 1;
+ required int32 id = 2;
+ optional string email = 3;
+ repeated int32 codes = 10 [packed=true];
+
+ enum PhoneType {
+ MOBILE = 0;
+ HOME = 1;
+ WORK = 2;
+ }
+
+ message PhoneNumber {
+ required string number = 1;
+ optional PhoneType type = 2 [default = HOME];
+ }
+
+ repeated PhoneNumber phone = 4;
+
+ repeated group Addresses = 5 {
+ required string address = 1;
+ optional string address2 = 2;
+ required string city = 3;
+ required string state = 4;
+ required fixed32 zip = 5;
+ }
+
+ extensions 100 to 199;
+}
+
+message TestInteropEmployeeId {
+ required string number = 1;
+}
+
+extend TestInteropPerson {
+ // Note: changed from required to optional, as required fields are not
+ // permitted in extensions. (The fact that this was allowed in protogen
+ // before was almost certainly a bug.)
+ optional TestInteropEmployeeId employee_id = 126;
+}
+
+message TestMissingFieldsA {
+ required string name = 1;
+ required int32 id = 2;
+ optional string email = 3;
+
+ message SubA {
+ required int32 count = 5;
+ repeated string values = 6;
+ }
+ optional SubA testA = 11;
+}
+
+message TestMissingFieldsB {
+ required string name = 1;
+ required int32 id = 2;
+ optional string website = 4;
+
+ message SubB {
+ repeated string values = 7;
+ }
+ optional SubB testB = 12;
+}