You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.6 KiB
Go
60 lines
1.6 KiB
Go
package nfs_test
|
|
|
|
import (
|
|
"bytes"
|
|
"git.noahlan.cn/noahlan/ntool/nfs"
|
|
"git.noahlan.cn/noahlan/ntool/ntest/assert"
|
|
"testing"
|
|
)
|
|
|
|
func TestMimeType(t *testing.T) {
|
|
assert.Eq(t, "", nfs.MimeType(""))
|
|
assert.Eq(t, "", nfs.MimeType("not-exist"))
|
|
assert.Eq(t, "text/plain; charset=utf-8", nfs.MimeType("testdata/mimetext.txt"))
|
|
|
|
buf := new(bytes.Buffer)
|
|
buf.Write([]byte("\xFF\xD8\xFF"))
|
|
assert.Eq(t, "image/jpeg", nfs.ReaderMimeType(buf))
|
|
buf.Reset()
|
|
|
|
buf.Write([]byte("text"))
|
|
assert.Eq(t, "text/plain; charset=utf-8", nfs.ReaderMimeType(buf))
|
|
buf.Reset()
|
|
|
|
buf.Write([]byte(""))
|
|
assert.Eq(t, "", nfs.ReaderMimeType(buf))
|
|
buf.Reset()
|
|
|
|
assert.False(t, nfs.IsImageFile("testdata/test.txt"))
|
|
assert.False(t, nfs.IsImageFile("testdata/not-exists"))
|
|
}
|
|
|
|
func TestTempDir(t *testing.T) {
|
|
dir, err := nfs.TempDir("testdata", "temp.*")
|
|
assert.NoErr(t, err)
|
|
assert.True(t, nfs.IsDir(dir))
|
|
assert.NoErr(t, nfs.Remove(dir))
|
|
}
|
|
|
|
func TestSplitPath(t *testing.T) {
|
|
dir, file := nfs.SplitPath("/path/to/dir/some.txt")
|
|
assert.Eq(t, "/path/to/dir/", dir)
|
|
assert.Eq(t, "some.txt", file)
|
|
}
|
|
|
|
func TestToAbsPath(t *testing.T) {
|
|
assert.Eq(t, "", nfs.ToAbsPath(""))
|
|
assert.Eq(t, "/path/to/dir/", nfs.ToAbsPath("/path/to/dir/"))
|
|
assert.Neq(t, "~/path/to/dir", nfs.ToAbsPath("~/path/to/dir"))
|
|
assert.Neq(t, ".", nfs.ToAbsPath("."))
|
|
assert.Neq(t, "..", nfs.ToAbsPath(".."))
|
|
assert.Neq(t, "./", nfs.ToAbsPath("./"))
|
|
assert.Neq(t, "../", nfs.ToAbsPath("../"))
|
|
}
|
|
|
|
func TestSlashPath(t *testing.T) {
|
|
assert.Eq(t, "/path/to/dir", nfs.SlashPath("/path/to/dir"))
|
|
assert.Eq(t, "/path/to/dir", nfs.UnixPath("/path/to/dir"))
|
|
assert.Eq(t, "/path/to/dir", nfs.UnixPath("\\path\\to\\dir"))
|
|
}
|