github.com/ipld/go-ipld-prime@v0.21.0/codec/decode_test.go (about)

     1  package codec_test
     2  
     3  import (
     4  	"errors"
     5  	"io"
     6  	"strings"
     7  	"testing"
     8  
     9  	_ "github.com/ipld/go-ipld-prime/codec/cbor"
    10  	_ "github.com/ipld/go-ipld-prime/codec/dagcbor"
    11  	_ "github.com/ipld/go-ipld-prime/codec/dagjson"
    12  	_ "github.com/ipld/go-ipld-prime/codec/json"
    13  	mcregistry "github.com/ipld/go-ipld-prime/multicodec"
    14  	basicnode "github.com/ipld/go-ipld-prime/node/basic"
    15  	"github.com/multiformats/go-multicodec"
    16  )
    17  
    18  func TestDecodeZero(t *testing.T) {
    19  	for _, code := range []multicodec.Code{
    20  		multicodec.Cbor,
    21  		multicodec.DagCbor,
    22  		multicodec.Json,
    23  		multicodec.DagJson,
    24  	} {
    25  		t.Run(code.String(), func(t *testing.T) {
    26  			nb := basicnode.Prototype.Any.NewBuilder()
    27  			decode, err := mcregistry.LookupDecoder(uint64(code))
    28  			if err != nil {
    29  				t.Fatal(err)
    30  			}
    31  
    32  			err = decode(nb, strings.NewReader(""))
    33  			if !errors.Is(err, io.ErrUnexpectedEOF) {
    34  				t.Fatalf("unexpected error: %v", err)
    35  			}
    36  		})
    37  	}
    38  }