44 lines
871 B
Go
44 lines
871 B
Go
|
|
package cmd
|
||
|
|
|
||
|
|
import (
|
||
|
|
"os"
|
||
|
|
"strings"
|
||
|
|
"testing"
|
||
|
|
)
|
||
|
|
|
||
|
|
func TestExpandHome(t *testing.T) {
|
||
|
|
home, _ := os.UserHomeDir()
|
||
|
|
|
||
|
|
tests := []struct {
|
||
|
|
input string
|
||
|
|
want string
|
||
|
|
}{
|
||
|
|
{"~/Documents", home + "/Documents"},
|
||
|
|
{"~/", home},
|
||
|
|
{"/absolute/path", "/absolute/path"},
|
||
|
|
{"relative/path", "relative/path"},
|
||
|
|
{"", ""},
|
||
|
|
{"~notexpanded", "~notexpanded"},
|
||
|
|
}
|
||
|
|
|
||
|
|
for _, tt := range tests {
|
||
|
|
t.Run(tt.input, func(t *testing.T) {
|
||
|
|
got := expandHome(tt.input)
|
||
|
|
if got != tt.want {
|
||
|
|
t.Errorf("expandHome(%q) = %q, want %q", tt.input, got, tt.want)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func TestDefaultDownloadDir(t *testing.T) {
|
||
|
|
dir := defaultDownloadDir()
|
||
|
|
if dir == "" {
|
||
|
|
t.Error("defaultDownloadDir() returned empty string")
|
||
|
|
}
|
||
|
|
home, _ := os.UserHomeDir()
|
||
|
|
if !strings.HasPrefix(dir, home) {
|
||
|
|
t.Errorf("defaultDownloadDir() = %q, expected to start with home dir %q", dir, home)
|
||
|
|
}
|
||
|
|
}
|