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:
Joe Tsai 2019-07-09 23:11:13 -07:00
parent b3d57df1db
commit 6dc168e609
4 changed files with 17 additions and 97 deletions

View File

@ -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

View File

@ -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)
}
}

View File

@ -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",

View File

@ -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"