import (
"io"
- "io/ioutil"
"os"
"path"
"path/filepath"
"strings"
"testing"
- "github.com/anacrolix/missinggo"
+ "github.com/anacrolix/missinggo/v2"
qt "github.com/frankban/quicktest"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
PieceLength: _case.PieceLength,
}
err := info.GeneratePieces(func(fi FileInfo) (io.ReadCloser, error) {
- return ioutil.NopCloser(missinggo.ZeroReader), nil
+ return io.NopCloser(missinggo.ZeroReader), nil
})
assert.NoError(t, err)
assert.EqualValues(t, _case.NumPieces, info.NumPieces())
}
func TestBuildFromFilePathOrder(t *testing.T) {
- td, err := ioutil.TempDir("", "anacrolix")
- require.NoError(t, err)
- defer os.RemoveAll(td)
+ td := t.TempDir()
require.NoError(t, touchFile(filepath.Join(td, "b")))
require.NoError(t, touchFile(filepath.Join(td, "a")))
info := Info{
var mi MetaInfo
assert.NoError(t, bencode.Unmarshal([]byte("d13:creation date23:29.03.2018 22:18:14 UTC4:infodee"), &mi))
}
+
+// See https://github.com/anacrolix/torrent/issues/843.
+func TestUnmarshalEmptyStringNodes(t *testing.T) {
+ var mi MetaInfo
+ c := qt.New(t)
+ err := bencode.Unmarshal([]byte("d5:nodes0:e"), &mi)
+ c.Assert(err, qt.IsNil)
+}