forked from alecthomas/gometalinter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
execute_test.go
67 lines (62 loc) · 1.23 KB
/
execute_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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
package main
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestLinterStateCommand(t *testing.T) {
varsDefault := Vars{"tests": "", "not_tests": "true"}
varsWithTest := Vars{"tests": "true", "not_tests": ""}
var testcases = []struct {
linter string
vars Vars
expected string
}{
{
linter: "errcheck",
vars: varsWithTest,
expected: `errcheck -abspath `,
},
{
linter: "errcheck",
vars: varsDefault,
expected: `errcheck -abspath -ignoretests`,
},
{
linter: "gotype",
vars: varsDefault,
expected: `gotype -e `,
},
{
linter: "gotype",
vars: varsWithTest,
expected: `gotype -e -t`,
},
{
linter: "structcheck",
vars: varsDefault,
expected: `structcheck `,
},
{
linter: "structcheck",
vars: varsWithTest,
expected: `structcheck -t`,
},
{
linter: "unparam",
vars: varsDefault,
expected: `unparam -tests=false`,
},
{
linter: "unparam",
vars: varsWithTest,
expected: `unparam `,
},
}
for _, testcase := range testcases {
ls := linterState{
Linter: getLinterByName(testcase.linter, LinterConfig{}),
vars: testcase.vars,
}
assert.Equal(t, testcase.expected, ls.command())
}
}