xgo/compiler/parser/parser_function_test.go

30 lines
605 B
Go
Raw Normal View History

2019-01-09 10:17:42 +03:00
package parser_test
import (
"testing"
2019-01-11 13:27:28 +03:00
"github.com/d5/tengo/compiler/ast"
"github.com/d5/tengo/compiler/token"
2019-01-09 10:17:42 +03:00
)
func TestFunction(t *testing.T) {
expect(t, "a = func(b, c, d) { return d }", func(p pfn) []ast.Stmt {
return stmts(
assignStmt(
exprs(
ident("a", p(1, 1))),
exprs(
funcLit(
funcType(
identList(p(1, 9), p(1, 17),
ident("b", p(1, 10)),
ident("c", p(1, 13)),
ident("d", p(1, 16))),
p(1, 5)),
blockStmt(p(1, 19), p(1, 30),
returnStmt(p(1, 21), ident("d", p(1, 28)))))),
token.Assign,
p(1, 3)))
})
}