-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtests_test.go
30 lines (28 loc) · 1.34 KB
/
tests_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package main
import (
"github.com/gabrieljuliao/godo/cmd/env"
"reflect"
"testing"
)
func Test_filterGodoArgs(t *testing.T) {
env.InitEnv()
tests := []struct {
name string
args []string
want []string
}{
{name: "Empty", args: []string{""}, want: []string{""}},
{name: "Macro only", args: []string{"fake-macro"}, want: []string{"fake-macro"}},
{name: "Macro+--godo-args, no macro,args", args: []string{"--godo-config-file", "config-test.yaml", "fake-macro"}, want: []string{"fake-macro"}},
{name: "Macro+args, no --godo-args", args: []string{"fake-macro", "--fake-macro-args", "fake-macro-arg-value"}, want: []string{"fake-macro", "--fake-macro-args", "fake-macro-arg-value"}},
{name: "Macro+args+--godo-args", args: []string{"--godo-config-editor", "code", "fake-macro", "--fake-macro-args", "fake-macro-arg-value"}, want: []string{"fake-macro", "--fake-macro-args", "fake-macro-arg-value"}},
{name: "Macro+args+--godo-args", args: []string{"--godo-config-editor-args", "--arg1,value1,arg-2", "fake-macro", "--fake-macro-args", "fake-macro-arg-value"}, want: []string{"fake-macro", "--fake-macro-args", "fake-macro-arg-value"}},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
if got := filterGodoArgs(tt.args); !reflect.DeepEqual(got, tt.want) {
t.Errorf("filterGodoArgs() = %v, want %v", got, tt.want)
}
})
}
}