72 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.8 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"))
 | |
| }
 | |
| 
 | |
| func TestExcludeCaseSensitive(t *testing.T) {
 | |
| 	p := NewExcludeCaseSensitive("^exclude$")
 | |
| 	texts := []string{"excLude", "1", "", "exclud", "exclude"}
 | |
| 	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[:len(texts)-1], processedTexts)
 | |
| }
 | 
