github.com/wtfutil/wtf@v0.43.0/utils/homedir_test.go (about) 1 package utils 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 ) 8 9 func Test_ExpandHomeDir(t *testing.T) { 10 tests := []struct { 11 name string 12 path string 13 expectedStart string 14 expectedContains string 15 expectedError error 16 }{ 17 { 18 name: "with empty path", 19 path: "", 20 expectedStart: "", 21 expectedContains: "", 22 expectedError: nil, 23 }, 24 { 25 name: "with relative path", 26 path: "~/test", 27 expectedStart: "/", 28 expectedContains: "/test", 29 expectedError: nil, 30 }, 31 { 32 name: "with absolute path", 33 path: "/Users/test", 34 expectedStart: "/", 35 expectedContains: "/test", 36 expectedError: nil, 37 }, 38 } 39 40 for _, tt := range tests { 41 t.Run(tt.name, func(t *testing.T) { 42 actual, err := ExpandHomeDir(tt.path) 43 44 if len(tt.path) > 0 { 45 assert.Equal(t, tt.expectedStart, string(actual[0])) 46 } 47 48 assert.Contains(t, actual, tt.expectedContains) 49 assert.Equal(t, tt.expectedError, err) 50 }) 51 } 52 }