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 }) } }