pkger/pkging/pkgtest/file.go

65 lines
1.1 KiB
Go
Raw Normal View History

2019-09-03 19:02:55 +03:00
package pkgtest
import (
2019-09-21 21:05:59 +03:00
"sort"
2019-09-03 19:02:55 +03:00
"testing"
"github.com/stretchr/testify/require"
)
2019-09-21 21:05:59 +03:00
func (s Suite) Test_File_Readdir(t *testing.T) {
r := require.New(t)
pkg, err := s.Make()
r.NoError(err)
cur, err := pkg.Current()
r.NoError(err)
ip := cur.ImportPath
table := []struct {
in string
}{
{in: ":/public"},
{in: ip + ":/public"},
}
r.NoError(s.LoadFolder(pkg))
for _, tt := range table {
s.Run(t, tt.in, func(st *testing.T) {
r := require.New(st)
dir, err := pkg.Open(tt.in)
r.NoError(err)
defer dir.Close()
infos, err := dir.Readdir(-1)
r.NoError(err)
r.Len(infos, 2)
sort.Slice(infos, func(i, j int) bool {
return infos[i].Name() < infos[j].Name()
})
r.Equal("images", infos[0].Name())
r.Equal("index.html", infos[1].Name())
2019-09-21 21:42:07 +03:00
dir, err = pkg.Open(tt.in + "/images")
r.NoError(err)
infos, err = dir.Readdir(-1)
r.NoError(err)
2019-10-18 19:27:58 +03:00
r.Len(infos, 2)
2019-09-21 21:42:07 +03:00
sort.Slice(infos, func(i, j int) bool {
return infos[i].Name() < infos[j].Name()
})
2019-10-18 19:24:51 +03:00
r.Equal("img1.png", infos[0].Name())
2019-10-18 19:27:58 +03:00
r.Equal("img2.png", infos[1].Name())
2019-09-21 21:42:07 +03:00
2019-09-21 21:05:59 +03:00
})
}
}