|
@@ -1,119 +1,119 @@
|
|
|
-syntax = "proto3";
|
|
|
-
|
|
|
-// These proto descriptors have at one time been reported as an issue or defect.
|
|
|
-// They are kept here to replicate the issue, and continue to verify the fix.
|
|
|
-
|
|
|
-// Issue: Non-"Google.Protobuffers" namespace will ensure that protobuffer library types are qualified
|
|
|
-option csharp_namespace = "UnitTest.Issues.TestProtos";
|
|
|
-
|
|
|
-package unittest_issues;
|
|
|
-option optimize_for = SPEED;
|
|
|
-
|
|
|
-// Issue 307: when generating doubly-nested types, any references
|
|
|
-// should be of the form A.Types.B.Types.C.
|
|
|
-message Issue307 {
|
|
|
- message NestedOnce {
|
|
|
- message NestedTwice {
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-// Old issue 13: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=13
|
|
|
-// New issue 309: https://github.com/google/protobuf/issues/309
|
|
|
-
|
|
|
-// message A {
|
|
|
-// optional int32 _A = 1;
|
|
|
-// }
|
|
|
-
|
|
|
-// message B {
|
|
|
-// optional int32 B_ = 1;
|
|
|
-// }
|
|
|
-
|
|
|
-//message AB {
|
|
|
-// optional int32 a_b = 1;
|
|
|
-//}
|
|
|
-
|
|
|
-// Similar issue with numeric names
|
|
|
-// Java code failed too, so probably best for this to be a restriction.
|
|
|
-// See https://github.com/google/protobuf/issues/308
|
|
|
-// message NumberField {
|
|
|
-// optional int32 _01 = 1;
|
|
|
-// }
|
|
|
-
|
|
|
-// issue 19 - negative enum values
|
|
|
-
|
|
|
-enum NegativeEnum {
|
|
|
- NEGATIVE_ENUM_ZERO = 0;
|
|
|
- FiveBelow = -5;
|
|
|
- MinusOne = -1;
|
|
|
-}
|
|
|
-
|
|
|
-message NegativeEnumMessage {
|
|
|
- NegativeEnum value = 1;
|
|
|
- repeated NegativeEnum values = 2 [packed = false];
|
|
|
- repeated NegativeEnum packed_values = 3 [packed=true];
|
|
|
-}
|
|
|
-
|
|
|
-// Issue 21: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=21
|
|
|
-// Decorate fields with [deprecated=true] as [System.Obsolete]
|
|
|
-
|
|
|
-message DeprecatedChild {
|
|
|
-}
|
|
|
-
|
|
|
-enum DeprecatedEnum {
|
|
|
- DEPRECATED_ZERO = 0;
|
|
|
- one = 1;
|
|
|
-}
|
|
|
-
|
|
|
-message DeprecatedFieldsMessage {
|
|
|
- int32 PrimitiveValue = 1 [deprecated = true];
|
|
|
- repeated int32 PrimitiveArray = 2 [deprecated = true];
|
|
|
-
|
|
|
- DeprecatedChild MessageValue = 3 [deprecated = true];
|
|
|
- repeated DeprecatedChild MessageArray = 4 [deprecated = true];
|
|
|
-
|
|
|
- DeprecatedEnum EnumValue = 5 [deprecated = true];
|
|
|
- repeated DeprecatedEnum EnumArray = 6 [deprecated = true];
|
|
|
-}
|
|
|
-
|
|
|
-// Issue 45: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=45
|
|
|
-message ItemField {
|
|
|
- int32 item = 1;
|
|
|
-}
|
|
|
-
|
|
|
-message ReservedNames {
|
|
|
- // Force a nested type called Types
|
|
|
- message SomeNestedType {
|
|
|
- }
|
|
|
-
|
|
|
- int32 types = 1;
|
|
|
- int32 descriptor = 2;
|
|
|
-}
|
|
|
-
|
|
|
-message TestJsonFieldOrdering {
|
|
|
- // These fields are deliberately not declared in numeric
|
|
|
- // order, and the oneof fields aren't contiguous either.
|
|
|
- // This allows for reasonably robust tests of JSON output
|
|
|
- // ordering.
|
|
|
- // TestFieldOrderings in unittest_proto3.proto is similar,
|
|
|
- // but doesn't include oneofs.
|
|
|
- // TODO: Consider adding oneofs to TestFieldOrderings, although
|
|
|
- // that will require fixing other tests in multiple platforms.
|
|
|
- // Alternatively, consider just adding this to
|
|
|
- // unittest_proto3.proto if multiple platforms want it.
|
|
|
-
|
|
|
- int32 plain_int32 = 4;
|
|
|
-
|
|
|
- oneof o1 {
|
|
|
- string o1_string = 2;
|
|
|
- int32 o1_int32 = 5;
|
|
|
- }
|
|
|
-
|
|
|
- string plain_string = 1;
|
|
|
-
|
|
|
- oneof o2 {
|
|
|
- int32 o2_int32 = 6;
|
|
|
- string o2_string = 3;
|
|
|
- }
|
|
|
-
|
|
|
+syntax = "proto3";
|
|
|
+
|
|
|
+// These proto descriptors have at one time been reported as an issue or defect.
|
|
|
+// They are kept here to replicate the issue, and continue to verify the fix.
|
|
|
+
|
|
|
+// Issue: Non-"Google.Protobuffers" namespace will ensure that protobuffer library types are qualified
|
|
|
+option csharp_namespace = "UnitTest.Issues.TestProtos";
|
|
|
+
|
|
|
+package unittest_issues;
|
|
|
+option optimize_for = SPEED;
|
|
|
+
|
|
|
+// Issue 307: when generating doubly-nested types, any references
|
|
|
+// should be of the form A.Types.B.Types.C.
|
|
|
+message Issue307 {
|
|
|
+ message NestedOnce {
|
|
|
+ message NestedTwice {
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// Old issue 13: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=13
|
|
|
+// New issue 309: https://github.com/google/protobuf/issues/309
|
|
|
+
|
|
|
+// message A {
|
|
|
+// optional int32 _A = 1;
|
|
|
+// }
|
|
|
+
|
|
|
+// message B {
|
|
|
+// optional int32 B_ = 1;
|
|
|
+// }
|
|
|
+
|
|
|
+//message AB {
|
|
|
+// optional int32 a_b = 1;
|
|
|
+//}
|
|
|
+
|
|
|
+// Similar issue with numeric names
|
|
|
+// Java code failed too, so probably best for this to be a restriction.
|
|
|
+// See https://github.com/google/protobuf/issues/308
|
|
|
+// message NumberField {
|
|
|
+// optional int32 _01 = 1;
|
|
|
+// }
|
|
|
+
|
|
|
+// issue 19 - negative enum values
|
|
|
+
|
|
|
+enum NegativeEnum {
|
|
|
+ NEGATIVE_ENUM_ZERO = 0;
|
|
|
+ FiveBelow = -5;
|
|
|
+ MinusOne = -1;
|
|
|
+}
|
|
|
+
|
|
|
+message NegativeEnumMessage {
|
|
|
+ NegativeEnum value = 1;
|
|
|
+ repeated NegativeEnum values = 2 [packed = false];
|
|
|
+ repeated NegativeEnum packed_values = 3 [packed=true];
|
|
|
+}
|
|
|
+
|
|
|
+// Issue 21: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=21
|
|
|
+// Decorate fields with [deprecated=true] as [System.Obsolete]
|
|
|
+
|
|
|
+message DeprecatedChild {
|
|
|
+}
|
|
|
+
|
|
|
+enum DeprecatedEnum {
|
|
|
+ DEPRECATED_ZERO = 0;
|
|
|
+ one = 1;
|
|
|
+}
|
|
|
+
|
|
|
+message DeprecatedFieldsMessage {
|
|
|
+ int32 PrimitiveValue = 1 [deprecated = true];
|
|
|
+ repeated int32 PrimitiveArray = 2 [deprecated = true];
|
|
|
+
|
|
|
+ DeprecatedChild MessageValue = 3 [deprecated = true];
|
|
|
+ repeated DeprecatedChild MessageArray = 4 [deprecated = true];
|
|
|
+
|
|
|
+ DeprecatedEnum EnumValue = 5 [deprecated = true];
|
|
|
+ repeated DeprecatedEnum EnumArray = 6 [deprecated = true];
|
|
|
+}
|
|
|
+
|
|
|
+// Issue 45: http://code.google.com/p/protobuf-csharp-port/issues/detail?id=45
|
|
|
+message ItemField {
|
|
|
+ int32 item = 1;
|
|
|
+}
|
|
|
+
|
|
|
+message ReservedNames {
|
|
|
+ // Force a nested type called Types
|
|
|
+ message SomeNestedType {
|
|
|
+ }
|
|
|
+
|
|
|
+ int32 types = 1;
|
|
|
+ int32 descriptor = 2;
|
|
|
+}
|
|
|
+
|
|
|
+message TestJsonFieldOrdering {
|
|
|
+ // These fields are deliberately not declared in numeric
|
|
|
+ // order, and the oneof fields aren't contiguous either.
|
|
|
+ // This allows for reasonably robust tests of JSON output
|
|
|
+ // ordering.
|
|
|
+ // TestFieldOrderings in unittest_proto3.proto is similar,
|
|
|
+ // but doesn't include oneofs.
|
|
|
+ // TODO: Consider adding oneofs to TestFieldOrderings, although
|
|
|
+ // that will require fixing other tests in multiple platforms.
|
|
|
+ // Alternatively, consider just adding this to
|
|
|
+ // unittest_proto3.proto if multiple platforms want it.
|
|
|
+
|
|
|
+ int32 plain_int32 = 4;
|
|
|
+
|
|
|
+ oneof o1 {
|
|
|
+ string o1_string = 2;
|
|
|
+ int32 o1_int32 = 5;
|
|
|
+ }
|
|
|
+
|
|
|
+ string plain_string = 1;
|
|
|
+
|
|
|
+ oneof o2 {
|
|
|
+ int32 o2_int32 = 6;
|
|
|
+ string o2_string = 3;
|
|
|
+ }
|
|
|
+
|
|
|
}
|