ollie/util/paths_test.go

54 lines
1.3 KiB
Go

package util
import (
"os"
"testing"
)
func TestCfgDirFromXDG(t *testing.T) {
t.Setenv("XDG_CONFIG_HOME", "/custom/config")
if got := CfgDir(); got != "/custom/config/ollie" {
t.Errorf("CfgDir() = %q; want /custom/config/ollie", got)
}
}
func TestCfgDirDefault(t *testing.T) {
t.Setenv("XDG_CONFIG_HOME", "")
home, _ := os.UserHomeDir()
if got := CfgDir(); got != home+"/.config/ollie" {
t.Errorf("CfgDir() = %q; want %s/.config/ollie", got, home)
}
}
func TestDataDirFromXDG(t *testing.T) {
t.Setenv("XDG_DATA_HOME", "/custom/data")
if got := DataDir(); got != "/custom/data/ollie" {
t.Errorf("DataDir() = %q; want /custom/data/ollie", got)
}
}
func TestDataDirDefault(t *testing.T) {
t.Setenv("XDG_DATA_HOME", "")
home, _ := os.UserHomeDir()
if got := DataDir(); got != home+"/.local/share/ollie" {
t.Errorf("DataDir() = %q; want %s/.local/share/ollie", got, home)
}
}
func TestExpandHome(t *testing.T) {
home, _ := os.UserHomeDir()
tests := []struct{ in, want string }{
{"~", home},
{"~/src", home + "/src"},
{"/abs/path", "/abs/path"},
{"relative", "relative"},
{"~user/foo", "~user/foo"}, // only bare ~ is expanded
{"", ""},
}
for _, tt := range tests {
if got := ExpandHome(tt.in); got != tt.want {
t.Errorf("ExpandHome(%q) = %q; want %q", tt.in, got, tt.want)
}
}
}