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