54 lines
1.3 KiB
Go
54 lines
1.3 KiB
Go
package processors
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/golangci/golangci-lint/pkg/result"
|
|
)
|
|
|
|
func newTextIssue(text string) result.Issue {
|
|
return result.Issue{
|
|
Text: text,
|
|
}
|
|
}
|
|
|
|
func process(t *testing.T, p Processor, issues ...result.Issue) []result.Issue {
|
|
processedIssues, err := p.Process(issues)
|
|
assert.NoError(t, err)
|
|
return processedIssues
|
|
}
|
|
|
|
func processAssertSame(t *testing.T, p Processor, issues ...result.Issue) {
|
|
processedIssues := process(t, p, issues...)
|
|
assert.Equal(t, issues, processedIssues)
|
|
}
|
|
|
|
func processAssertEmpty(t *testing.T, p Processor, issues ...result.Issue) {
|
|
processedIssues := process(t, p, issues...)
|
|
assert.Empty(t, processedIssues)
|
|
}
|
|
|
|
func TestExclude(t *testing.T) {
|
|
p := NewExclude("^exclude$")
|
|
texts := []string{"excLude", "1", "", "exclud", "notexclude"}
|
|
var issues []result.Issue
|
|
for _, t := range texts {
|
|
issues = append(issues, newTextIssue(t))
|
|
}
|
|
|
|
processedIssues := process(t, p, issues...)
|
|
assert.Len(t, processedIssues, len(issues)-1)
|
|
|
|
var processedTexts []string
|
|
for _, i := range processedIssues {
|
|
processedTexts = append(processedTexts, i.Text)
|
|
}
|
|
assert.Equal(t, texts[1:], processedTexts)
|
|
}
|
|
|
|
func TestNoExclude(t *testing.T) {
|
|
processAssertSame(t, NewExclude(""), newTextIssue("test"))
|
|
}
|