github.com/chenfeining/golangci-lint@v1.0.2-0.20230730162517-14c6c67868df/pkg/result/processors/path_prefixer_test.go (about) 1 package processors 2 3 import ( 4 "go/token" 5 "path/filepath" 6 "testing" 7 8 "github.com/stretchr/testify/assert" 9 "github.com/stretchr/testify/require" 10 11 "github.com/chenfeining/golangci-lint/pkg/result" 12 ) 13 14 func TestPathPrefixer_Process(t *testing.T) { 15 paths := func(ps ...string) (issues []result.Issue) { 16 for _, p := range ps { 17 issues = append(issues, result.Issue{Pos: token.Position{Filename: filepath.FromSlash(p)}}) 18 } 19 return 20 } 21 22 for _, tt := range []struct { 23 name, prefix string 24 issues, want []result.Issue 25 }{ 26 { 27 name: "empty prefix", 28 issues: paths("some/path", "cool"), 29 want: paths("some/path", "cool"), 30 }, 31 { 32 name: "prefix", 33 prefix: "ok", 34 issues: paths("some/path", "cool"), 35 want: paths("ok/some/path", "ok/cool"), 36 }, 37 { 38 name: "prefix slashed", 39 prefix: "ok/", 40 issues: paths("some/path", "cool"), 41 want: paths("ok/some/path", "ok/cool"), 42 }, 43 } { 44 t.Run(tt.name, func(t *testing.T) { 45 p := NewPathPrefixer(tt.prefix) 46 47 got, err := p.Process(tt.issues) 48 require.NoError(t, err) 49 50 assert.Equal(t, got, tt.want) 51 }) 52 } 53 }