xref: /aosp_15_r20/external/golang-protobuf/proto/reset_test.go (revision 1c12ee1efe575feb122dbf939ff15148a3b3e8f2)
1*1c12ee1eSDan Willemsen// Copyright 2019 The Go Authors. All rights reserved.
2*1c12ee1eSDan Willemsen// Use of this source code is governed by a BSD-style
3*1c12ee1eSDan Willemsen// license that can be found in the LICENSE file.
4*1c12ee1eSDan Willemsen
5*1c12ee1eSDan Willemsenpackage proto_test
6*1c12ee1eSDan Willemsen
7*1c12ee1eSDan Willemsenimport (
8*1c12ee1eSDan Willemsen	"testing"
9*1c12ee1eSDan Willemsen
10*1c12ee1eSDan Willemsen	"google.golang.org/protobuf/proto"
11*1c12ee1eSDan Willemsen
12*1c12ee1eSDan Willemsen	testpb "google.golang.org/protobuf/internal/testprotos/test"
13*1c12ee1eSDan Willemsen)
14*1c12ee1eSDan Willemsen
15*1c12ee1eSDan Willemsenfunc TestReset(t *testing.T) {
16*1c12ee1eSDan Willemsen	m := &testpb.TestAllTypes{
17*1c12ee1eSDan Willemsen		OptionalSfixed64:       proto.Int64(5),
18*1c12ee1eSDan Willemsen		RepeatedInt32:          []int32{},
19*1c12ee1eSDan Willemsen		RepeatedFloat:          []float32{1.234, 5.678},
20*1c12ee1eSDan Willemsen		MapFixed64Fixed64:      map[uint64]uint64{5: 7},
21*1c12ee1eSDan Willemsen		MapStringString:        map[string]string{},
22*1c12ee1eSDan Willemsen		OptionalForeignMessage: &testpb.ForeignMessage{},
23*1c12ee1eSDan Willemsen		OneofField:             (*testpb.TestAllTypes_OneofUint32)(nil),
24*1c12ee1eSDan Willemsen		OneofOptional:          (*testpb.TestAllTypes_OneofOptionalUint32)(nil),
25*1c12ee1eSDan Willemsen	}
26*1c12ee1eSDan Willemsen	m.ProtoReflect().SetUnknown([]byte{})
27*1c12ee1eSDan Willemsen
28*1c12ee1eSDan Willemsen	proto.Reset(m)
29*1c12ee1eSDan Willemsen
30*1c12ee1eSDan Willemsen	if m.OptionalSfixed64 != nil {
31*1c12ee1eSDan Willemsen		t.Errorf("m.OptionalSfixed64 = %p, want nil", m.OptionalSfixed64)
32*1c12ee1eSDan Willemsen	}
33*1c12ee1eSDan Willemsen	if m.RepeatedInt32 != nil {
34*1c12ee1eSDan Willemsen		t.Errorf("m.RepeatedInt32 = %p, want nil", m.RepeatedInt32)
35*1c12ee1eSDan Willemsen	}
36*1c12ee1eSDan Willemsen	if m.RepeatedFloat != nil {
37*1c12ee1eSDan Willemsen		t.Errorf("m.RepeatedFloat = %p, want nil", m.RepeatedFloat)
38*1c12ee1eSDan Willemsen	}
39*1c12ee1eSDan Willemsen	if m.MapFixed64Fixed64 != nil {
40*1c12ee1eSDan Willemsen		t.Errorf("m.MapFixed64Fixed64 = %p, want nil", m.MapFixed64Fixed64)
41*1c12ee1eSDan Willemsen	}
42*1c12ee1eSDan Willemsen	if m.MapStringString != nil {
43*1c12ee1eSDan Willemsen		t.Errorf("m.MapStringString = %p, want nil", m.MapStringString)
44*1c12ee1eSDan Willemsen	}
45*1c12ee1eSDan Willemsen	if m.OptionalForeignMessage != nil {
46*1c12ee1eSDan Willemsen		t.Errorf("m.OptionalForeignMessage = %p, want nil", m.OptionalForeignMessage)
47*1c12ee1eSDan Willemsen	}
48*1c12ee1eSDan Willemsen	if m.OneofField != nil {
49*1c12ee1eSDan Willemsen		t.Errorf("m.OneofField = %p, want nil", m.OneofField)
50*1c12ee1eSDan Willemsen	}
51*1c12ee1eSDan Willemsen	if m.OneofOptional != nil {
52*1c12ee1eSDan Willemsen		t.Errorf("m.OneofOptional = %p, want nil", m.OneofOptional)
53*1c12ee1eSDan Willemsen	}
54*1c12ee1eSDan Willemsen
55*1c12ee1eSDan Willemsen	if got := m.ProtoReflect().GetUnknown(); got != nil {
56*1c12ee1eSDan Willemsen		t.Errorf("m.ProtoReflect().GetUnknown() = %d, want nil", got)
57*1c12ee1eSDan Willemsen	}
58*1c12ee1eSDan Willemsen}
59