aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/serializer
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-04-25 10:12:31 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-04-25 10:52:15 +0200
commitb3cb1996a4f40025f58ea785f1e555d851e10149 (patch)
treed0beb0e6758dff5a36f65b7b6b2a591d63f85a82 /pkg/serializer
parenta113ba3838a191c8d2aeb531731af5cb31aa6e26 (diff)
pkg/serializer: test result in the test
Make the test actually test what we expect and extend slightly for few interesting cases.
Diffstat (limited to 'pkg/serializer')
-rw-r--r--pkg/serializer/serializer_test.go52
1 files changed, 49 insertions, 3 deletions
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