github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/internal/osutils/autostart/legacy_darwin_test.go (about) 1 //go:build darwin 2 // +build darwin 3 4 package autostart 5 6 import ( 7 "path/filepath" 8 "testing" 9 10 "github.com/ActiveState/cli/internal/environment" 11 "github.com/stretchr/testify/assert" 12 ) 13 14 func TestIsLegacyPlist(t *testing.T) { 15 type args struct { 16 filename string 17 } 18 tests := []struct { 19 name string 20 args args 21 want bool 22 wantErr bool 23 }{ 24 { 25 name: "legacy plist", 26 args: args{ 27 filename: "legacy.plist", 28 }, 29 want: true, 30 wantErr: false, 31 }, 32 { 33 name: "current plist", 34 args: args{ 35 filename: "current.plist", 36 }, 37 want: false, 38 wantErr: false, 39 }, 40 { 41 name: "non-existent plist", 42 args: args{ 43 filename: "not-there.plist", 44 }, 45 want: false, 46 wantErr: false, 47 }, 48 } 49 for _, tt := range tests { 50 t.Run(tt.name, func(t *testing.T) { 51 root, err := environment.GetRootPath() 52 assert.NoError(t, err, "should detect root path") 53 54 path := filepath.Join(root, "internal", "osutils", "autostart", "testdata", tt.args.filename) 55 got, err := isLegacyPlist(path) 56 if (err != nil) != tt.wantErr { 57 t.Errorf("isLegacyPlist() error = %v, wantErr %v", err, tt.wantErr) 58 return 59 } 60 if got != tt.want { 61 t.Errorf("isLegacyPlist() = %v, want %v", got, tt.want) 62 } 63 }) 64 } 65 }