diff options
Diffstat (limited to 'proto/weak_test.go')
-rw-r--r-- | proto/weak_test.go | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/proto/weak_test.go b/proto/weak_test.go deleted file mode 100644 index 79340e39..00000000 --- a/proto/weak_test.go +++ /dev/null @@ -1,125 +0,0 @@ -// Copyright 2019 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package proto_test - -import ( - "testing" - - "google.golang.org/protobuf/internal/flags" - "google.golang.org/protobuf/internal/protobuild" - "google.golang.org/protobuf/proto" - "google.golang.org/protobuf/testing/protopack" - - testpb "google.golang.org/protobuf/internal/testprotos/test" - weakpb "google.golang.org/protobuf/internal/testprotos/test/weak1" -) - -func init() { - if flags.ProtoLegacy { - testValidMessages = append(testValidMessages, testWeakValidMessages...) - testInvalidMessages = append(testInvalidMessages, testWeakInvalidMessages...) - testMerges = append(testMerges, testWeakMerges...) - } -} - -var testWeakValidMessages = []testProto{ - { - desc: "weak message", - decodeTo: []proto.Message{ - func() proto.Message { - if !flags.ProtoLegacy { - return nil - } - m := &testpb.TestWeak{} - m.SetWeakMessage1(&weakpb.WeakImportMessage1{ - A: proto.Int32(1000), - }) - m.ProtoReflect().SetUnknown(protopack.Message{ - protopack.Tag{2, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{ - protopack.Tag{1, protopack.VarintType}, protopack.Varint(2000), - }), - }.Marshal()) - return m - }(), - }, - wire: protopack.Message{ - protopack.Tag{1, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{ - protopack.Tag{1, protopack.VarintType}, protopack.Varint(1000), - }), - protopack.Tag{2, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{ - protopack.Tag{1, protopack.VarintType}, protopack.Varint(2000), - }), - }.Marshal(), - }, -} - -var testWeakInvalidMessages = []testProto{ - { - desc: "invalid field number 0 in weak message", - decodeTo: []proto.Message{(*testpb.TestWeak)(nil)}, - wire: protopack.Message{ - protopack.Tag{1, protopack.BytesType}, protopack.LengthPrefix(protopack.Message{ - protopack.Tag{0, protopack.VarintType}, protopack.Varint(1000), - }), - }.Marshal(), - }, -} - -var testWeakMerges = []testMerge{ - { - desc: "clone weak message", - src: protobuild.Message{ - "weak_message1": protobuild.Message{ - "a": 1, - }, - }, - types: []proto.Message{&testpb.TestWeak{}}, - }, { - desc: "merge weak message", - dst: protobuild.Message{ - "weak_message1": protobuild.Message{ - "a": 1, - }, - }, - src: protobuild.Message{ - "weak_message1": protobuild.Message{ - "a": 2, - }, - }, - want: protobuild.Message{ - "weak_message1": protobuild.Message{ - "a": 2, - }, - }, - types: []proto.Message{&testpb.TestWeak{}}, - }, -} - -func TestWeakNil(t *testing.T) { - if !flags.ProtoLegacy { - t.SkipNow() - } - - m := new(testpb.TestWeak) - if v, ok := m.GetWeakMessage1().(*weakpb.WeakImportMessage1); !ok || v != nil { - t.Errorf("m.GetWeakMessage1() = type %[1]T(%[1]v), want (*weakpb.WeakImportMessage1)", v) - } -} - -func TestWeakMarshalNil(t *testing.T) { - if !flags.ProtoLegacy { - t.SkipNow() - } - - m := new(testpb.TestWeak) - m.SetWeakMessage1(nil) - if b, err := proto.Marshal(m); err != nil || len(b) != 0 { - t.Errorf("Marshal(weak field set to nil) = [%x], %v; want [], nil", b, err) - } - m.SetWeakMessage1((*weakpb.WeakImportMessage1)(nil)) - if b, err := proto.Marshal(m); err != nil || len(b) != 0 { - t.Errorf("Marshal(weak field set to typed nil) = [%x], %v; want [], nil", b, err) - } -} |