60 lines
1.6 KiB
Go
60 lines
1.6 KiB
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestResolvedHomeDir_Default(t *testing.T) {
|
|
cfg := &Config{}
|
|
home, err := os.UserHomeDir()
|
|
if err != nil {
|
|
t.Skip("cannot determine home directory")
|
|
}
|
|
want := filepath.Join(home, ".kandev")
|
|
if got := cfg.ResolvedHomeDir(); got != want {
|
|
t.Errorf("ResolvedHomeDir() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestResolvedHomeDir_WithHomeDir(t *testing.T) {
|
|
cfg := &Config{HomeDir: "/custom/kandev"}
|
|
if got := cfg.ResolvedHomeDir(); got != "/custom/kandev" {
|
|
t.Errorf("ResolvedHomeDir() = %q, want %q", got, "/custom/kandev")
|
|
}
|
|
}
|
|
|
|
func TestResolvedHomeDir_TildeExpansion(t *testing.T) {
|
|
home, err := os.UserHomeDir()
|
|
if err != nil {
|
|
t.Skip("cannot determine home directory")
|
|
}
|
|
cfg := &Config{HomeDir: "~/.kandev-dev"}
|
|
want := filepath.Join(home, ".kandev-dev")
|
|
if got := cfg.ResolvedHomeDir(); got != want {
|
|
t.Errorf("ResolvedHomeDir() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestResolvedDataDir_Default(t *testing.T) {
|
|
cfg := &Config{}
|
|
home, err := os.UserHomeDir()
|
|
if err != nil {
|
|
t.Skip("cannot determine home directory")
|
|
}
|
|
want := filepath.Join(home, ".kandev", "data")
|
|
if got := cfg.ResolvedDataDir(); got != want {
|
|
t.Errorf("ResolvedDataDir() = %q, want %q", got, want)
|
|
}
|
|
}
|
|
|
|
func TestResolvedDataDir_DerivedFromHomeDir(t *testing.T) {
|
|
// Data always lives under <HomeDir>/data. No independent override.
|
|
cfg := &Config{HomeDir: "/custom/kandev"}
|
|
want := filepath.Join("/custom/kandev", "data")
|
|
if got := cfg.ResolvedDataDir(); got != want {
|
|
t.Errorf("ResolvedDataDir() = %q, want %q", got, want)
|
|
}
|
|
}
|