)
type MetaInfo struct {
- InfoBytes bencode.Bytes `bencode:"info"`
+ InfoBytes bencode.Bytes `bencode:"info,omitempty"`
Announce string `bencode:"announce,omitempty"`
AnnounceList AnnounceList `bencode:"announce-list,omitempty"`
Nodes []Node `bencode:"nodes,omitempty"`
package metainfo
import (
+ "bytes"
"testing"
"github.com/stretchr/testify/assert"
err := bencode.Unmarshal([]byte("d5:nodesl1:ai42eee"), &mi)
require.Error(t, err)
}
+
+func TestMetainfoEmptyInfoBytes(t *testing.T) {
+ var buf bytes.Buffer
+ require.NoError(t, (&MetaInfo{
+ // Include a non-empty field that comes after "info".
+ UrlList: []string{"hello"},
+ }).Write(&buf))
+ var mi MetaInfo
+ require.NoError(t, bencode.Unmarshal(buf.Bytes(), &mi))
+}