forked from mirror/pkger
83 lines
1.4 KiB
Go
83 lines
1.4 KiB
Go
package pkging
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func Test_NewFileInfo(t *testing.T) {
|
|
|
|
in := []string{
|
|
"/public/images/mark.png",
|
|
"public/images/mark.png",
|
|
"/public\\images/mark.png",
|
|
"public/images\\mark.png",
|
|
"\\public\\images\\mark.png",
|
|
"public\\images\\mark.png",
|
|
"\\public/images\\mark.png",
|
|
"public\\images/mark.png",
|
|
"\\public\\images\\mark.png",
|
|
}
|
|
|
|
const exp = "/public/images/mark.png"
|
|
for _, n := range in {
|
|
t.Run(n, func(st *testing.T) {
|
|
r := require.New(st)
|
|
|
|
f1 := &FileInfo{
|
|
Details: Details{
|
|
Name: n,
|
|
Size: 42,
|
|
Mode: os.FileMode(0644),
|
|
IsDir: true,
|
|
},
|
|
}
|
|
|
|
f2 := NewFileInfo(f1)
|
|
|
|
r.Equal(exp, f2.Name())
|
|
r.Equal(f1.Size(), f2.Size())
|
|
r.Equal(f1.Mode(), f2.Mode())
|
|
r.Equal(f1.IsDir(), f2.IsDir())
|
|
})
|
|
}
|
|
|
|
}
|
|
|
|
func Test_WithName(t *testing.T) {
|
|
|
|
f1 := &FileInfo{
|
|
Details: Details{
|
|
Name: "/walls/crumbling",
|
|
Size: 42,
|
|
Mode: os.FileMode(0644),
|
|
IsDir: true,
|
|
},
|
|
}
|
|
|
|
const exp = "/public/images/mark.png"
|
|
in := []string{
|
|
"/public/images/mark.png",
|
|
"public/images/mark.png",
|
|
"/public\\images/mark.png",
|
|
"public/images\\mark.png",
|
|
"\\public\\images\\mark.png",
|
|
"public\\images\\mark.png",
|
|
"\\public/images\\mark.png",
|
|
"public\\images/mark.png",
|
|
"\\public\\images\\mark.png",
|
|
}
|
|
|
|
for _, n := range in {
|
|
t.Run(n, func(st *testing.T) {
|
|
r := require.New(st)
|
|
|
|
f2 := WithName(n, f1)
|
|
|
|
r.Equal(exp, f2.Name())
|
|
})
|
|
}
|
|
}
|