|  | // 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/proto" | 
|  |  | 
|  | testpb "google.golang.org/protobuf/internal/testprotos/test" | 
|  | ) | 
|  |  | 
|  | func TestReset(t *testing.T) { | 
|  | m := &testpb.TestAllTypes{ | 
|  | OptionalSfixed64:       proto.Int64(5), | 
|  | RepeatedInt32:          []int32{}, | 
|  | RepeatedFloat:          []float32{1.234, 5.678}, | 
|  | MapFixed64Fixed64:      map[uint64]uint64{5: 7}, | 
|  | MapStringString:        map[string]string{}, | 
|  | OptionalForeignMessage: &testpb.ForeignMessage{}, | 
|  | OneofField:             (*testpb.TestAllTypes_OneofUint32)(nil), | 
|  | OneofOptional:          (*testpb.TestAllTypes_OneofOptionalUint32)(nil), | 
|  | } | 
|  | m.ProtoReflect().SetUnknown([]byte{}) | 
|  |  | 
|  | proto.Reset(m) | 
|  |  | 
|  | if m.OptionalSfixed64 != nil { | 
|  | t.Errorf("m.OptionalSfixed64 = %p, want nil", m.OptionalSfixed64) | 
|  | } | 
|  | if m.RepeatedInt32 != nil { | 
|  | t.Errorf("m.RepeatedInt32 = %p, want nil", m.RepeatedInt32) | 
|  | } | 
|  | if m.RepeatedFloat != nil { | 
|  | t.Errorf("m.RepeatedFloat = %p, want nil", m.RepeatedFloat) | 
|  | } | 
|  | if m.MapFixed64Fixed64 != nil { | 
|  | t.Errorf("m.MapFixed64Fixed64 = %p, want nil", m.MapFixed64Fixed64) | 
|  | } | 
|  | if m.MapStringString != nil { | 
|  | t.Errorf("m.MapStringString = %p, want nil", m.MapStringString) | 
|  | } | 
|  | if m.OptionalForeignMessage != nil { | 
|  | t.Errorf("m.OptionalForeignMessage = %p, want nil", m.OptionalForeignMessage) | 
|  | } | 
|  | if m.OneofField != nil { | 
|  | t.Errorf("m.OneofField = %p, want nil", m.OneofField) | 
|  | } | 
|  | if m.OneofOptional != nil { | 
|  | t.Errorf("m.OneofOptional = %p, want nil", m.OneofOptional) | 
|  | } | 
|  |  | 
|  | if got := m.ProtoReflect().GetUnknown(); got != nil { | 
|  | t.Errorf("m.ProtoReflect().GetUnknown() = %d, want nil", got) | 
|  | } | 
|  | } |