github.com/criteo/command-launcher@v0.0.0-20230407142452-fb616f546e98/internal/helper/paths_test.go (about) 1 package helper 2 3 import ( 4 "runtime" 5 "testing" 6 ) 7 8 func TestIsAbsolutePath(t *testing.T) { 9 type args struct { 10 pathname string 11 } 12 tests := []struct { 13 name string 14 args args 15 want bool 16 }{ 17 { 18 name: "simple root", 19 args: args{pathname: "/"}, 20 want: true, 21 }, 22 { 23 name: "Simple drive path", 24 args: args{pathname: "e:\\"}, 25 want: true, 26 }, 27 { 28 name: "Windows pathname", 29 args: args{pathname: "g:\\a\\b\\c/d"}, 30 want: true, 31 }, 32 { 33 name: "relative path", 34 args: args{pathname: ".\\test"}, 35 want: false, 36 }, 37 { 38 name: "relative #2", 39 args: args{pathname: "../../.."}, 40 want: false, 41 }, 42 } 43 if runtime.GOOS == "windows" { 44 for _, tt := range tests { 45 t.Run(tt.name, func(t *testing.T) { 46 if got := IsAbsolutePath(tt.args.pathname); got != tt.want { 47 t.Errorf("IsAbsolutePath() = %v, want %v", got, tt.want) 48 } 49 }) 50 } 51 } 52 }