mirror of
https://github.com/protocolbuffers/protobuf-go.git
synced 2025-03-29 13:20:21 +00:00
encoding: cleanup some tests
Change-Id: I07b8cd5e9b71fea6a162ca423186b4df7fd49355 Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/185458 Reviewed-by: Herbie Ong <herbie@google.com>
This commit is contained in:
parent
b3d57df1db
commit
6dc168e609
@ -15,7 +15,6 @@ import (
|
||||
"google.golang.org/protobuf/internal/scalar"
|
||||
"google.golang.org/protobuf/proto"
|
||||
preg "google.golang.org/protobuf/reflect/protoregistry"
|
||||
"google.golang.org/protobuf/runtime/protoiface"
|
||||
|
||||
"google.golang.org/protobuf/types/known/anypb"
|
||||
"google.golang.org/protobuf/types/known/durationpb"
|
||||
@ -26,34 +25,6 @@ import (
|
||||
"google.golang.org/protobuf/types/known/wrapperspb"
|
||||
)
|
||||
|
||||
func init() {
|
||||
// TODO: remove these registerExtension calls when generated code registers
|
||||
// to V2 global registry.
|
||||
registerExtension(pb2.E_OptExtBool)
|
||||
registerExtension(pb2.E_OptExtString)
|
||||
registerExtension(pb2.E_OptExtEnum)
|
||||
registerExtension(pb2.E_OptExtNested)
|
||||
registerExtension(pb2.E_RptExtFixed32)
|
||||
registerExtension(pb2.E_RptExtEnum)
|
||||
registerExtension(pb2.E_RptExtNested)
|
||||
registerExtension(pb2.E_ExtensionsContainer_OptExtBool)
|
||||
registerExtension(pb2.E_ExtensionsContainer_OptExtString)
|
||||
registerExtension(pb2.E_ExtensionsContainer_OptExtEnum)
|
||||
registerExtension(pb2.E_ExtensionsContainer_OptExtNested)
|
||||
registerExtension(pb2.E_ExtensionsContainer_RptExtString)
|
||||
registerExtension(pb2.E_ExtensionsContainer_RptExtEnum)
|
||||
registerExtension(pb2.E_ExtensionsContainer_RptExtNested)
|
||||
registerExtension(pb2.E_MessageSetExtension)
|
||||
registerExtension(pb2.E_MessageSetExtension_MessageSetExtension)
|
||||
registerExtension(pb2.E_MessageSetExtension_NotMessageSetExtension)
|
||||
registerExtension(pb2.E_MessageSetExtension_ExtNested)
|
||||
registerExtension(pb2.E_FakeMessageSetExtension_MessageSetExtension)
|
||||
}
|
||||
|
||||
func registerExtension(xd *protoiface.ExtensionDescV1) {
|
||||
preg.GlobalTypes.Register(xd.Type)
|
||||
}
|
||||
|
||||
func TestUnmarshal(t *testing.T) {
|
||||
tests := []struct {
|
||||
desc string
|
||||
|
@ -6,13 +6,10 @@ package protojson_test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/hex"
|
||||
"math"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"github.com/google/go-cmp/cmp/cmpopts"
|
||||
"google.golang.org/protobuf/encoding/protojson"
|
||||
"google.golang.org/protobuf/internal/encoding/pack"
|
||||
pimpl "google.golang.org/protobuf/internal/impl"
|
||||
@ -32,37 +29,11 @@ import (
|
||||
"google.golang.org/protobuf/types/known/wrapperspb"
|
||||
)
|
||||
|
||||
// splitLines is a cmpopts.Option for comparing strings with line breaks.
|
||||
var splitLines = cmpopts.AcyclicTransformer("SplitLines", func(s string) []string {
|
||||
return strings.Split(s, "\n")
|
||||
})
|
||||
|
||||
func pb2Enum(i int32) *pb2.Enum {
|
||||
p := new(pb2.Enum)
|
||||
*p = pb2.Enum(i)
|
||||
return p
|
||||
}
|
||||
|
||||
func pb2Enums_NestedEnum(i int32) *pb2.Enums_NestedEnum {
|
||||
p := new(pb2.Enums_NestedEnum)
|
||||
*p = pb2.Enums_NestedEnum(i)
|
||||
return p
|
||||
}
|
||||
|
||||
// TODO: Replace this with proto.SetExtension.
|
||||
func setExtension(m proto.Message, xd *protoiface.ExtensionDescV1, val interface{}) {
|
||||
m.ProtoReflect().Set(xd.Type, xd.Type.ValueOf(val))
|
||||
}
|
||||
|
||||
// dhex decodes a hex-string and returns the bytes and panics if s is invalid.
|
||||
func dhex(s string) []byte {
|
||||
b, err := hex.DecodeString(s)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
func TestMarshal(t *testing.T) {
|
||||
tests := []struct {
|
||||
desc string
|
||||
@ -215,8 +186,8 @@ func TestMarshal(t *testing.T) {
|
||||
}, {
|
||||
desc: "proto2 enum set to zero value",
|
||||
input: &pb2.Enums{
|
||||
OptEnum: pb2Enum(0),
|
||||
OptNestedEnum: pb2Enums_NestedEnum(0),
|
||||
OptEnum: pb2.Enum(0).Enum(),
|
||||
OptNestedEnum: pb2.Enums_NestedEnum(0).Enum(),
|
||||
},
|
||||
want: `{
|
||||
"optEnum": 0,
|
||||
@ -235,8 +206,8 @@ func TestMarshal(t *testing.T) {
|
||||
}, {
|
||||
desc: "proto2 enum set to numeric values",
|
||||
input: &pb2.Enums{
|
||||
OptEnum: pb2Enum(2),
|
||||
OptNestedEnum: pb2Enums_NestedEnum(2),
|
||||
OptEnum: pb2.Enum(2).Enum(),
|
||||
OptNestedEnum: pb2.Enums_NestedEnum(2).Enum(),
|
||||
},
|
||||
want: `{
|
||||
"optEnum": "TWO",
|
||||
@ -245,8 +216,8 @@ func TestMarshal(t *testing.T) {
|
||||
}, {
|
||||
desc: "proto2 enum set to unnamed numeric values",
|
||||
input: &pb2.Enums{
|
||||
OptEnum: pb2Enum(101),
|
||||
OptNestedEnum: pb2Enums_NestedEnum(-101),
|
||||
OptEnum: pb2.Enum(101).Enum(),
|
||||
OptNestedEnum: pb2.Enums_NestedEnum(-101).Enum(),
|
||||
},
|
||||
want: `{
|
||||
"optEnum": 101,
|
||||
@ -1636,7 +1607,7 @@ func TestMarshal(t *testing.T) {
|
||||
},
|
||||
input: &anypb.Any{
|
||||
TypeUrl: "foo/pb2.Nested",
|
||||
Value: dhex("80"),
|
||||
Value: []byte("\x80"),
|
||||
},
|
||||
wantErr: true,
|
||||
}, {
|
||||
@ -1941,7 +1912,7 @@ func TestMarshal(t *testing.T) {
|
||||
got := string(b)
|
||||
if got != tt.want {
|
||||
t.Errorf("Marshal()\n<got>\n%v\n<want>\n%v\n", got, tt.want)
|
||||
if diff := cmp.Diff(tt.want, got, splitLines); diff != "" {
|
||||
if diff := cmp.Diff(tt.want, got); diff != "" {
|
||||
t.Errorf("Marshal() diff -want +got\n%v\n", diff)
|
||||
}
|
||||
}
|
||||
|
@ -352,8 +352,8 @@ opt_enum: 101
|
||||
opt_nested_enum: -101
|
||||
`,
|
||||
wantMessage: &pb2.Enums{
|
||||
OptEnum: pb2Enum(101),
|
||||
OptNestedEnum: pb2Enums_NestedEnum(-101),
|
||||
OptEnum: pb2.Enum(101).Enum(),
|
||||
OptNestedEnum: pb2.Enums_NestedEnum(-101).Enum(),
|
||||
},
|
||||
}, {
|
||||
desc: "proto2 enum set to invalid named",
|
||||
|
@ -5,7 +5,6 @@
|
||||
package prototext_test
|
||||
|
||||
import (
|
||||
"encoding/hex"
|
||||
"math"
|
||||
"testing"
|
||||
|
||||
@ -29,32 +28,11 @@ func init() {
|
||||
detrand.Disable()
|
||||
}
|
||||
|
||||
func pb2Enum(i int32) *pb2.Enum {
|
||||
p := new(pb2.Enum)
|
||||
*p = pb2.Enum(i)
|
||||
return p
|
||||
}
|
||||
|
||||
func pb2Enums_NestedEnum(i int32) *pb2.Enums_NestedEnum {
|
||||
p := new(pb2.Enums_NestedEnum)
|
||||
*p = pb2.Enums_NestedEnum(i)
|
||||
return p
|
||||
}
|
||||
|
||||
// TODO: Use proto.SetExtension when available.
|
||||
func setExtension(m proto.Message, xd *protoiface.ExtensionDescV1, val interface{}) {
|
||||
m.ProtoReflect().Set(xd.Type, xd.Type.ValueOf(val))
|
||||
}
|
||||
|
||||
// dhex decodes a hex-string and returns the bytes and panics if s is invalid.
|
||||
func dhex(s string) []byte {
|
||||
b, err := hex.DecodeString(s)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
func TestMarshal(t *testing.T) {
|
||||
tests := []struct {
|
||||
desc string
|
||||
@ -205,8 +183,8 @@ opt_string: "谷歌"
|
||||
}, {
|
||||
desc: "proto2 enum set to zero value",
|
||||
input: &pb2.Enums{
|
||||
OptEnum: pb2Enum(0),
|
||||
OptNestedEnum: pb2Enums_NestedEnum(0),
|
||||
OptEnum: pb2.Enum(0).Enum(),
|
||||
OptNestedEnum: pb2.Enums_NestedEnum(0).Enum(),
|
||||
},
|
||||
want: `opt_enum: 0
|
||||
opt_nested_enum: 0
|
||||
@ -223,8 +201,8 @@ opt_nested_enum: UNO
|
||||
}, {
|
||||
desc: "proto2 enum set to numeric values",
|
||||
input: &pb2.Enums{
|
||||
OptEnum: pb2Enum(2),
|
||||
OptNestedEnum: pb2Enums_NestedEnum(2),
|
||||
OptEnum: pb2.Enum(2).Enum(),
|
||||
OptNestedEnum: pb2.Enums_NestedEnum(2).Enum(),
|
||||
},
|
||||
want: `opt_enum: TWO
|
||||
opt_nested_enum: DOS
|
||||
@ -232,8 +210,8 @@ opt_nested_enum: DOS
|
||||
}, {
|
||||
desc: "proto2 enum set to unnamed numeric values",
|
||||
input: &pb2.Enums{
|
||||
OptEnum: pb2Enum(101),
|
||||
OptNestedEnum: pb2Enums_NestedEnum(-101),
|
||||
OptEnum: pb2.Enum(101).Enum(),
|
||||
OptNestedEnum: pb2.Enums_NestedEnum(-101).Enum(),
|
||||
},
|
||||
want: `opt_enum: 101
|
||||
opt_nested_enum: -101
|
||||
@ -1215,7 +1193,7 @@ value: "\n\x13embedded inside Any\x12\x0b\n\tinception"
|
||||
},
|
||||
input: &anypb.Any{
|
||||
TypeUrl: "foo/pb2.Nested",
|
||||
Value: dhex("80"),
|
||||
Value: []byte("\x80"),
|
||||
},
|
||||
want: `type_url: "foo/pb2.Nested"
|
||||
value: "\x80"
|
||||
|
Loading…
x
Reference in New Issue
Block a user