golangci-lint/pkg/config/config_test.go
ZhangYunHao 9948153575
DefaultExcludePatterns should only be used for specified linter (#1494)
Co-authored-by: zhangyunhao <zhangyunhao@bytedance.com>
2020-11-12 15:21:19 +01:00

37 lines
855 B
Go

package config
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func TestGetExcludePatterns(t *testing.T) {
assert.Equal(t, GetExcludePatterns(nil), DefaultExcludePatterns)
include := make([]string, 2)
include[0], include[1] = DefaultExcludePatterns[0].ID, DefaultExcludePatterns[1].ID
exclude := GetExcludePatterns(include)
assert.Equal(t, len(exclude), len(DefaultExcludePatterns)-len(include))
for _, p := range exclude {
// Not in include.
for _, i := range include {
if i == p.ID {
t.Fatalf("%s can't appear inside include.", p.ID)
}
}
// Must in DefaultExcludePatterns.
var inDefaultExc bool
for _, i := range DefaultExcludePatterns {
if i == p {
inDefaultExc = true
break
}
}
assert.True(t, inDefaultExc, fmt.Sprintf("%s must appear inside DefaultExcludePatterns.", p.ID))
}
}