From b3cb1996a4f40025f58ea785f1e555d851e10149 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sat, 25 Apr 2020 10:12:31 +0200 Subject: pkg/serializer: test result in the test Make the test actually test what we expect and extend slightly for few interesting cases. --- pkg/serializer/serializer_test.go | 52 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 49 insertions(+), 3 deletions(-) (limited to 'pkg/serializer') diff --git a/pkg/serializer/serializer_test.go b/pkg/serializer/serializer_test.go index c33b316a9..63ed7aa71 100644 --- a/pkg/serializer/serializer_test.go +++ b/pkg/serializer/serializer_test.go @@ -6,6 +6,8 @@ package serializer import ( "bytes" "testing" + + "github.com/google/go-cmp/cmp" ) func TestSerializer(t *testing.T) { @@ -16,12 +18,50 @@ func TestSerializer(t *testing.T) { B: true, S: "a\x09b", T: T1, + I: []interface{}{ + nil, + Y{V: 42}, + new(Y), + (*Y)(nil), + 0, + 42, + T(0), + T(42), + U(96), + false, + B(false), + "", + "foo", + S(""), + S("foo"), + }, F: nil, } + want := `&X{Y{1},&Y{2},[]Y{ +{3}, +{4}, +},true,"a\tb",1,[]{ +nil, +Y{}, +&Y{}, +nil, +0, +42, +0, +42, +96, +false, +false, +"", +"foo", +"", +"foo", +},nil}` buf := new(bytes.Buffer) Write(buf, x) - t.Logf("\n%s", buf.String()) - t.Logf("\n%#v", x) + if diff := cmp.Diff(want, buf.String()); diff != "" { + t.Fatal(diff) + } } type X struct { @@ -31,6 +71,7 @@ type X struct { B bool S string T T + I []interface{} F func() } @@ -38,7 +79,12 @@ type Y struct { V int } -type T int +type ( + S string + B bool + T int + U uint16 +) const ( _ T = iota -- cgit mrf-deployment