aboutsummaryrefslogtreecommitdiff
path: root/evaluator/macro_expansion_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'evaluator/macro_expansion_test.go')
-rw-r--r--evaluator/macro_expansion_test.go18
1 files changed, 8 insertions, 10 deletions
diff --git a/evaluator/macro_expansion_test.go b/evaluator/macro_expansion_test.go
index 81c03ef..df0042d 100644
--- a/evaluator/macro_expansion_test.go
+++ b/evaluator/macro_expansion_test.go
@@ -17,13 +17,12 @@ let mymacro = macro(x, y) { x + y; };
`
env := object.NewEnvironment()
- program := testParseProgram(input)
+ program := testParseProgram(t, input)
DefineMacros(program, env)
if len(program.Statements) != 2 {
- t.Fatalf("Wrong number of statements. got=%d",
- len(program.Statements))
+ t.Fatalf("Wrong number of statements. got=%d", len(program.Statements))
}
_, ok := env.Get("number")
@@ -46,8 +45,7 @@ let mymacro = macro(x, y) { x + y; };
}
if len(macro.Parameters) != 2 {
- t.Fatalf("Wrong number of macro parameters. got=%d",
- len(macro.Parameters))
+ t.Fatalf("Wrong number of macro parameters. got=%d", len(macro.Parameters))
}
if macro.Parameters[0].String() != "x" {
@@ -64,7 +62,8 @@ let mymacro = macro(x, y) { x + y; };
}
}
-func testParseProgram(input string) *ast.Program {
+func testParseProgram(t *testing.T, input string) *ast.Program {
+ t.Helper()
l := lexer.New(input)
p := parser.New(l)
return p.ParseProgram()
@@ -109,16 +108,15 @@ func TestExpandMacros(t *testing.T) {
}
for _, tt := range tests {
- expected := testParseProgram(tt.expected)
- program := testParseProgram(tt.input)
+ expected := testParseProgram(t, tt.expected)
+ program := testParseProgram(t, tt.input)
env := object.NewEnvironment()
DefineMacros(program, env)
expanded := ExpandMacros(program, env)
if expanded.String() != expected.String() {
- t.Errorf("not equal. want=%q, got=%q",
- expected.String(), expanded.String())
+ t.Errorf("not equal. want=%q, got=%q", expected.String(), expanded.String())
}
}
}