From d93d4baeabdb7622aa2680e1c4afddbbb55d5071 Mon Sep 17 00:00:00 2001 From: whyrusleeping Date: Mon, 11 Nov 2019 16:48:19 -0800 Subject: [PATCH] add a simple test for reading cids from a buffer --- cid_test.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/cid_test.go b/cid_test.go index 1c181f9..c64b569 100644 --- a/cid_test.go +++ b/cid_test.go @@ -515,3 +515,37 @@ func BenchmarkStringV1(b *testing.B) { b.FailNow() } } + +func TestReadCidsFromBuffer(t *testing.T) { + cidstr := []string{ + "bafkreie5qrjvaw64n4tjm6hbnm7fnqvcssfed4whsjqxzslbd3jwhsk3mm", + "Qmf5Qzp6nGBku7CEn2UQx4mgN8TW69YUok36DrGa6NN893", + "zb2rhZi1JR4eNc2jBGaRYJKYM8JEB4ovenym8L1CmFsRAytkz", + } + + var cids []Cid + var buf []byte + for _, cs := range cidstr { + c, err := Decode(cs) + if err != nil { + t.Fatal(err) + } + cids = append(cids, c) + buf = append(buf, c.Bytes()...) + } + + var cur int + for _, expc := range cids { + n, c, err := CidFromBytes(buf[cur:]) + if err != nil { + t.Fatal(err) + } + if c != expc { + t.Fatal("cids mismatched") + } + cur += n + } + if cur != len(buf) { + t.Fatal("had trailing bytes") + } +}