Files
go-sip/internal/ai/naming_test.go
T

44 lines
973 B
Go

package ai
import (
"go/ast"
"go/parser"
"go/token"
"os"
"strings"
"testing"
)
func TestAIBindingsUseDomainNames(t *testing.T) {
files, err := os.ReadDir(".")
if err != nil {
t.Fatal(err)
}
for _, file := range files {
name := file.Name()
if file.IsDir() || !strings.HasSuffix(name, ".go") || strings.HasSuffix(name, "_test.go") {
continue
}
if strings.HasPrefix(name, "current") {
t.Errorf("%s retains an implementation-generation filename", name)
}
parsed, err := parser.ParseFile(token.NewFileSet(), name, nil, 0)
if err != nil {
t.Fatal(err)
}
ast.Inspect(parsed, func(node ast.Node) bool {
var name string
switch declaration := node.(type) {
case *ast.TypeSpec:
name = declaration.Name.Name
case *ast.FuncDecl:
name = declaration.Name.Name
}
if strings.Contains(name, "Current") {
t.Errorf("%s retains an implementation-generation declaration %s", file.Name(), name)
}
return true
})
}
}