...
1
2
3
4
5 package proto_test
6
7 import (
8 "testing"
9
10 "google.golang.org/protobuf/proto"
11
12 testpb "google.golang.org/protobuf/internal/testprotos/test"
13 )
14
15 func TestReset(t *testing.T) {
16 m := &testpb.TestAllTypes{
17 OptionalSfixed64: proto.Int64(5),
18 RepeatedInt32: []int32{},
19 RepeatedFloat: []float32{1.234, 5.678},
20 MapFixed64Fixed64: map[uint64]uint64{5: 7},
21 MapStringString: map[string]string{},
22 OptionalForeignMessage: &testpb.ForeignMessage{},
23 OneofField: (*testpb.TestAllTypes_OneofUint32)(nil),
24 OneofOptional: (*testpb.TestAllTypes_OneofOptionalUint32)(nil),
25 }
26 m.ProtoReflect().SetUnknown([]byte{})
27
28 proto.Reset(m)
29
30 if m.OptionalSfixed64 != nil {
31 t.Errorf("m.OptionalSfixed64 = %p, want nil", m.OptionalSfixed64)
32 }
33 if m.RepeatedInt32 != nil {
34 t.Errorf("m.RepeatedInt32 = %p, want nil", m.RepeatedInt32)
35 }
36 if m.RepeatedFloat != nil {
37 t.Errorf("m.RepeatedFloat = %p, want nil", m.RepeatedFloat)
38 }
39 if m.MapFixed64Fixed64 != nil {
40 t.Errorf("m.MapFixed64Fixed64 = %p, want nil", m.MapFixed64Fixed64)
41 }
42 if m.MapStringString != nil {
43 t.Errorf("m.MapStringString = %p, want nil", m.MapStringString)
44 }
45 if m.OptionalForeignMessage != nil {
46 t.Errorf("m.OptionalForeignMessage = %p, want nil", m.OptionalForeignMessage)
47 }
48 if m.OneofField != nil {
49 t.Errorf("m.OneofField = %p, want nil", m.OneofField)
50 }
51 if m.OneofOptional != nil {
52 t.Errorf("m.OneofOptional = %p, want nil", m.OneofOptional)
53 }
54
55 if got := m.ProtoReflect().GetUnknown(); got != nil {
56 t.Errorf("m.ProtoReflect().GetUnknown() = %d, want nil", got)
57 }
58 }
59
View as plain text