115 lines
2.0 KiB
Go
115 lines
2.0 KiB
Go
package config
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestDirectory(t *testing.T) {
|
|
testdir := "test"
|
|
|
|
Directory = testdir
|
|
|
|
if directory() != testdir {
|
|
t.Fatalf("%s != %s", directory(), testdir)
|
|
}
|
|
}
|
|
|
|
func TestDir(t *testing.T) {
|
|
tmpdir, err := ioutil.TempDir("", "out-of-tree_")
|
|
if err != nil {
|
|
return
|
|
}
|
|
defer os.RemoveAll(tmpdir)
|
|
|
|
Directory = tmpdir
|
|
|
|
for _, testdir := range []string{"a", "a/b", "a/b/c"} {
|
|
expected := filepath.Join(tmpdir, testdir)
|
|
t.Log(testdir, "->", expected)
|
|
resdir := Dir(testdir)
|
|
if resdir != expected {
|
|
t.Fatalf("%s != %s", resdir, expected)
|
|
}
|
|
|
|
fi, err := os.Stat(expected)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if !fi.IsDir() {
|
|
t.Fatal("not a directory")
|
|
}
|
|
}
|
|
|
|
testdir := []string{"a", "b", "c", "d"}
|
|
expected := filepath.Join(append([]string{tmpdir}, testdir...)...)
|
|
|
|
t.Log(testdir, "->", expected)
|
|
resdir := Dir(testdir...)
|
|
if resdir != expected {
|
|
t.Fatalf("%s != %s", resdir, expected)
|
|
}
|
|
|
|
fi, err := os.Stat(expected)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if !fi.IsDir() {
|
|
t.Fatal("not a directory")
|
|
}
|
|
}
|
|
|
|
func TestFile(t *testing.T) {
|
|
tmpdir, err := ioutil.TempDir("", "out-of-tree_")
|
|
if err != nil {
|
|
return
|
|
}
|
|
defer os.RemoveAll(tmpdir)
|
|
|
|
Directory = tmpdir
|
|
|
|
for _, testfile := range []string{"a", "a/b", "a/b/c"} {
|
|
expected := filepath.Join(tmpdir, testfile)
|
|
t.Log(testfile, "->", expected)
|
|
resfile := File(testfile)
|
|
if resfile != expected {
|
|
t.Fatalf("%s != %s", resfile, expected)
|
|
}
|
|
|
|
_, err := os.Stat(expected)
|
|
if err == nil {
|
|
t.Fatal("should not exist")
|
|
}
|
|
|
|
fi, err := os.Stat(filepath.Dir(expected))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if !fi.IsDir() {
|
|
t.Fatal("not a directory")
|
|
}
|
|
}
|
|
|
|
testfile := []string{"a", "b", "c"}
|
|
expected := filepath.Join(append([]string{tmpdir}, testfile...)...)
|
|
t.Log(testfile, "->", expected)
|
|
resdir := Dir(testfile...)
|
|
if resdir != expected {
|
|
t.Fatalf("%s != %s", resdir, expected)
|
|
}
|
|
|
|
fi, err := os.Stat(expected)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
if !fi.IsDir() {
|
|
t.Fatal("not a directory")
|
|
}
|
|
}
|