TestRecvTypeName

This commit is contained in:
xushiwei
2024-05-08 15:01:50 +08:00
parent cd8e1f2080
commit b0b38c02b2
4 changed files with 105 additions and 4 deletions

View File

@@ -17,6 +17,7 @@
package cl
import (
"go/ast"
"go/constant"
"go/types"
"testing"
@@ -25,6 +26,27 @@ import (
"golang.org/x/tools/go/ssa"
)
func TestRecvTypeName(t *testing.T) {
if ret := recvTypeName(&ast.IndexExpr{
X: &ast.Ident{Name: "Pointer"},
Index: &ast.Ident{Name: "T"},
}); ret != "Pointer" {
t.Fatal("recvTypeName IndexExpr:", ret)
}
if ret := recvTypeName(&ast.IndexListExpr{
X: &ast.Ident{Name: "Pointer"},
Indices: []ast.Expr{&ast.Ident{Name: "T"}},
}); ret != "Pointer" {
t.Fatal("recvTypeName IndexListExpr:", ret)
}
defer func() {
if r := recover(); r == nil {
t.Fatal("recvTypeName: no error?")
}
}()
recvTypeName(&ast.BadExpr{})
}
/*
func TestErrCompileValue(t *testing.T) {
defer func() {