mirror of
https://github.com/mgechev/revive.git
synced 2024-11-21 17:16:40 +02:00
70 lines
1.2 KiB
Go
70 lines
1.2 KiB
Go
package revivelib
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/mgechev/revive/config"
|
|
"github.com/mgechev/revive/lint"
|
|
)
|
|
|
|
func TestReviveCreateInstance(t *testing.T) {
|
|
revive := getMockRevive(t)
|
|
|
|
if revive.config == nil {
|
|
t.Fatal("Could not load config.")
|
|
}
|
|
|
|
if revive.maxOpenFiles != 2048 {
|
|
t.Fatal("Expected MaxOpenFiles to be 2048")
|
|
}
|
|
|
|
if len(revive.lintingRules) == 0 {
|
|
t.Fatal("Linting rules not loaded.")
|
|
}
|
|
|
|
rules := map[string]lint.Rule{}
|
|
for _, rule := range revive.lintingRules {
|
|
rules[rule.Name()] = rule
|
|
}
|
|
|
|
if _, ok := rules["mock-rule"]; !ok {
|
|
t.Fatal("Didn't load mock rule.")
|
|
}
|
|
|
|
if revive.config.ErrorCode != 1 && revive.config.WarningCode != 1 {
|
|
t.Fatal("Didn't set the codes in the config instance.")
|
|
}
|
|
}
|
|
|
|
type mockRule struct {
|
|
}
|
|
|
|
func (*mockRule) Name() string {
|
|
return "mock-rule"
|
|
}
|
|
|
|
func (*mockRule) Apply(_ *lint.File, _ lint.Arguments) []lint.Failure {
|
|
return nil
|
|
}
|
|
|
|
func getMockRevive(t *testing.T) *Revive {
|
|
t.Helper()
|
|
|
|
conf, err := config.GetConfig("../defaults.toml")
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
revive, err := New(
|
|
conf,
|
|
true,
|
|
2048,
|
|
NewExtraRule(&mockRule{}, lint.RuleConfig{}),
|
|
)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
return revive
|
|
}
|