1
0
mirror of https://github.com/mgechev/revive.git synced 2025-05-19 22:03:20 +02:00
revive/test/string_format_test.go

40 lines
972 B
Go
Raw Normal View History

package test
import (
"testing"
"github.com/mgechev/revive/lint"
"github.com/mgechev/revive/rule"
)
func TestStringFormat(t *testing.T) {
testRule(t, "string_format", &rule.StringFormatRule{}, &lint.RuleConfig{
Arguments: lint.Arguments{
[]any{
"stringFormatMethod1", // The first argument is checked by default
"/^[A-Z]/",
"must start with a capital letter"},
[]any{
"stringFormatMethod2[2].d",
"/[^\\.]$/"}, // Must not end with a period
[]any{
"s.Method3[2]",
"!/^[Tt][Hh]/",
"must not start with 'th'"},
[]any{
"s.Method4", // same as before, but called from a struct
"!/^[Ot][Tt]/",
"must not start with 'ot'"}}})
}
func TestStringFormatDuplicatedStrings(t *testing.T) {
testRule(t, "string_format_issue_1063", &rule.StringFormatRule{}, &lint.RuleConfig{
Arguments: lint.Arguments{[]any{
"fmt.Errorf[0],errors.New[0]",
"/^([^A-Z]|$)/",
"must not start with a capital letter",
}},
})
}