encoding/text: marshal extensions
Change-Id: Ic4a0c5909fb6eca76d22053b143be58c60b67b34
Reviewed-on: https://go-review.googlesource.com/c/154657
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/encoding/textpb/testprotos/pb2/test.proto b/encoding/textpb/testprotos/pb2/test.proto
index 35f585b..861dd24 100644
--- a/encoding/textpb/testprotos/pb2/test.proto
+++ b/encoding/textpb/testprotos/pb2/test.proto
@@ -138,6 +138,7 @@
}
// Following messages are for testing required field nested in optional, repeated and map fields.
+
message NestedWithRequired {
required string req_string = 1;
}
@@ -148,6 +149,57 @@
map<string, NestedWithRequired> str_to_nested = 3;
}
+// Following messages are for testing extensions.
+
+message Extensions {
+ optional string opt_string = 1;
+ extensions 20 to 100;
+ optional bool opt_bool = 101;
+ optional int32 opt_int32 = 2;
+}
+
+extend Extensions {
+ optional bool opt_ext_bool = 21;
+ optional string opt_ext_string = 22;
+ optional Enum opt_ext_enum = 23;
+ optional Nested opt_ext_nested = 24;
+
+ repeated fixed32 rpt_ext_fixed32 = 31;
+ repeated Enum rpt_ext_enum = 32;
+ repeated Nested rpt_ext_nested = 33;
+}
+
+message ExtensionsContainer {
+ extend Extensions {
+ optional bool opt_ext_bool = 51;
+ optional string opt_ext_string = 52;
+ optional Enum opt_ext_enum = 53;
+ optional Nested opt_ext_nested = 54;
+
+ repeated string rpt_ext_string = 61;
+ repeated Enum rpt_ext_enum = 62;
+ repeated Nested rpt_ext_nested = 63;
+ }
+}
+
+// Following messages are for testing MessageSet.
+
+message MessageSet {
+ option message_set_wire_format = true;
+
+ extensions 4 to max;
+}
+
+message MessageSetExtension {
+ optional string opt_string = 1;
+
+ extend MessageSet {
+ optional MessageSetExtension message_set_extension = 10;
+ optional MessageSetExtension not_message_set_extension = 20;
+ optional Nested ext_nested = 30;
+ }
+}
+
// Message contains well-known type fields.
message KnownTypes {
optional google.protobuf.BoolValue opt_bool = 1;