From: nsf Date: Sun, 24 Jun 2012 11:10:27 +0000 (+0600) Subject: Add MarshalBencode test. X-Git-Tag: v1.0.0~1199^2~32 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=69d1e17b8099a08feaa52b475df794527e32c475;p=btrtrc.git Add MarshalBencode test. --- diff --git a/bencode/encode_test.go b/bencode/encode_test.go index de89542b..c9b73ad6 100644 --- a/bencode/encode_test.go +++ b/bencode/encode_test.go @@ -2,6 +2,7 @@ package bencode import "testing" import "bytes" +import "fmt" type random_encode_test struct { value interface{} @@ -14,6 +15,19 @@ type random_struct struct { CDE string } +type dummy struct { + a, b, c int +} + +func (d *dummy) MarshalBencode() ([]byte, error) { + var b bytes.Buffer + _, err := fmt.Fprintf(&b, "i%dei%dei%de", d.a + 1, d.b + 1, d.c + 1) + if err != nil { + return nil, err + } + return b.Bytes(), nil +} + var random_encode_tests = []random_encode_test{ {int(10), "i10e"}, {uint(10), "i10e"}, @@ -37,6 +51,7 @@ var random_encode_tests = []random_encode_test{ {"", "0:"}, {[]int{}, "le"}, {map[string]int{}, "de"}, + {&dummy{1, 2, 3}, "i2ei3ei4e"}, } func TestRandomEncode(t *testing.T) {