1// +build gofuzz
2
3package cid
4
5func Fuzz(data []byte) int {
6	cid, err := Cast(data)
7
8	if err != nil {
9		return 0
10	}
11
12	_ = cid.Bytes()
13	_ = cid.String()
14	p := cid.Prefix()
15	_ = p.Bytes()
16
17	if !cid.Equals(cid) {
18		panic("inequality")
19	}
20
21	// json loop
22	json, err := cid.MarshalJSON()
23	if err != nil {
24		panic(err.Error())
25	}
26	cid2 := Cid{}
27	err = cid2.UnmarshalJSON(json)
28	if err != nil {
29		panic(err.Error())
30	}
31
32	if !cid.Equals(cid2) {
33		panic("json loop not equal")
34	}
35
36	return 1
37}
38