aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/google.golang.org/protobuf/proto/reset_test.go
blob: 0048b566f70a321dc968bb23b689a82d0f77f29b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
// 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)
	}
}