bitbucket.org/ai69/amoy@v0.2.3/dir_test.go (about) 1 package amoy 2 3 import ( 4 "os" 5 "testing" 6 7 "github.com/1set/gut/yos" 8 ) 9 10 func TestGetHomeDir(t *testing.T) { 11 osHome := os.Getenv("HOME") 12 tests := []struct { 13 name string 14 dirs []string 15 want string 16 wantErr bool 17 }{ 18 {"nil args", nil, osHome, false}, 19 {"no args", []string{}, osHome, false}, 20 {"empty arg", []string{""}, osHome, false}, 21 {"one arg", []string{"foo"}, yos.JoinPath(osHome, "foo"), false}, 22 {"two args", []string{"foo", "bar"}, yos.JoinPath(osHome, "foo", "bar"), false}, 23 } 24 for _, tt := range tests { 25 t.Run(tt.name, func(t *testing.T) { 26 got, err := GetHomeDir(tt.dirs...) 27 if (err != nil) != tt.wantErr { 28 t.Errorf("GetHomeDir(%v) error = %v, wantErr %v", tt.dirs, err, tt.wantErr) 29 return 30 } 31 if got != tt.want { 32 t.Errorf("GetHomeDir(%v) got = %v, want %v", tt.dirs, got, tt.want) 33 } 34 }) 35 } 36 }