encoding: unify MessageSet extension handling logic
This CL unifies common MessageSet logic in prototext and protojson
into the messageset package. While we are at it, also enable
MessageSet support only if the proto1_legacy build flag is enabled.
Change-Id: I1a7d475e8bb1dad61ecd286df45e4239e5bef072
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/185898
Reviewed-by: Damien Neil <dneil@google.com>
diff --git a/encoding/prototext/encode_test.go b/encoding/prototext/encode_test.go
index 003d490..c29169b 100644
--- a/encoding/prototext/encode_test.go
+++ b/encoding/prototext/encode_test.go
@@ -12,6 +12,7 @@
"google.golang.org/protobuf/encoding/prototext"
"google.golang.org/protobuf/internal/detrand"
"google.golang.org/protobuf/internal/encoding/pack"
+ "google.golang.org/protobuf/internal/flags"
pimpl "google.golang.org/protobuf/internal/impl"
"google.golang.org/protobuf/proto"
preg "google.golang.org/protobuf/reflect/protoregistry"
@@ -39,6 +40,7 @@
input proto.Message
want string
wantErr bool // TODO: Verify error message content.
+ skip bool
}{{
desc: "proto2 optional scalars not set",
input: &pb2.Scalars{},
@@ -1082,6 +1084,7 @@
opt_string: "not a messageset extension"
}
`,
+ skip: !flags.Proto1Legacy,
}, {
desc: "not real MessageSet 1",
input: func() proto.Message {
@@ -1095,6 +1098,7 @@
opt_string: "not a messageset extension"
}
`,
+ skip: !flags.Proto1Legacy,
}, {
desc: "not real MessageSet 2",
input: func() proto.Message {
@@ -1108,6 +1112,7 @@
opt_string: "another not a messageset extension"
}
`,
+ skip: !flags.Proto1Legacy,
}, {
desc: "Any not expanded",
mo: prototext.MarshalOptions{
@@ -1201,6 +1206,9 @@
for _, tt := range tests {
tt := tt
+ if tt.skip {
+ continue
+ }
t.Run(tt.desc, func(t *testing.T) {
// Use 2-space indentation on all MarshalOptions.
tt.mo.Indent = " "