mirror of
https://github.com/mgechev/revive.git
synced 2025-11-23 22:04:49 +02:00
78 lines
3.1 KiB
Go
78 lines
3.1 KiB
Go
package test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/mgechev/revive/lint"
|
|
"github.com/mgechev/revive/rule"
|
|
)
|
|
|
|
func TestVarNaming(t *testing.T) {
|
|
testRule(t, "var_naming", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{[]any{"ID"}, []any{"VM"}},
|
|
})
|
|
testRule(t, "var_naming_skip_initialism_name_checks_true", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{
|
|
[]any{},
|
|
[]any{},
|
|
[]any{map[string]any{"skip-initialism-name-checks": true}},
|
|
}})
|
|
testRule(t, "var_naming_skip_initialism_name_checks_false", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{
|
|
[]any{},
|
|
[]any{},
|
|
[]any{map[string]any{"skip-initialism-name-checks": false}},
|
|
}})
|
|
testRule(t, "var_naming_allowlist_blocklist_skip_initialism_name_checks", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{
|
|
[]any{"ID"},
|
|
[]any{"VM"},
|
|
[]any{map[string]any{"skip-initialism-name-checks": true}},
|
|
}})
|
|
|
|
testRule(t, "var_naming_test", &rule.VarNamingRule{}, &lint.RuleConfig{})
|
|
|
|
testRule(t, "var_naming_upper_case_const_false", &rule.VarNamingRule{}, &lint.RuleConfig{})
|
|
testRule(t, "var_naming_upper_case_const_true", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{[]any{}, []any{}, []any{map[string]any{"upperCaseConst": true}}},
|
|
})
|
|
testRule(t, "var_naming_upper_case_const_true", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{[]any{}, []any{}, []any{map[string]any{"upper-case-const": true}}},
|
|
})
|
|
|
|
testRule(t, "var_naming_skip_package_name_checks_false", &rule.VarNamingRule{}, &lint.RuleConfig{})
|
|
testRule(t, "var_naming_skip_package_name_checks_true", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{[]any{}, []any{}, []any{map[string]any{"skipPackageNameChecks": true}}},
|
|
})
|
|
testRule(t, "var_naming_skip_package_name_checks_true", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{[]any{}, []any{}, []any{map[string]any{"skip-package-name-checks": true}}},
|
|
})
|
|
testRule(t, "var_naming_meaningless_package_name", &rule.VarNamingRule{}, &lint.RuleConfig{})
|
|
testRule(t, "var_naming_meaningless_package_name", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{[]any{}, []any{},
|
|
[]any{map[string]any{"skip-package-name-checks": false}},
|
|
},
|
|
})
|
|
testRule(t, "var_naming_bad_package_name", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{[]any{}, []any{},
|
|
[]any{map[string]any{"skip-package-name-checks": false, "extra-bad-package-names": []any{"helpers"}}},
|
|
},
|
|
})
|
|
testRule(t, "var_naming_top_level_pkg", &rule.VarNamingRule{}, &lint.RuleConfig{})
|
|
testRule(t, "var_naming_std_lib_conflict", &rule.VarNamingRule{}, &lint.RuleConfig{})
|
|
testRule(t, "var_naming_std_lib_conflict_skip", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{[]any{}, []any{},
|
|
[]any{map[string]any{"skip-package-name-collision-with-go-std": true}},
|
|
},
|
|
})
|
|
}
|
|
|
|
func BenchmarkUpperCaseConstTrue(b *testing.B) {
|
|
var t *testing.T
|
|
for i := 0; i < b.N; i++ {
|
|
testRule(t, "var_naming_upper_case_const_true", &rule.VarNamingRule{}, &lint.RuleConfig{
|
|
Arguments: []any{[]any{}, []any{}, []any{map[string]any{"upperCaseConst": true}}},
|
|
})
|
|
}
|
|
}
|