diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/yarp/compiler_test.rb | 30 | ||||
| -rw-r--r-- | test/yarp/desugar_compiler_test.rb (renamed from test/yarp/desugar_visitor_test.rb) | 6 |
2 files changed, 33 insertions, 3 deletions
diff --git a/test/yarp/compiler_test.rb b/test/yarp/compiler_test.rb new file mode 100644 index 0000000000..141e183469 --- /dev/null +++ b/test/yarp/compiler_test.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +require_relative "test_helper" + +module YARP + class CompilerTest < TestCase + class SExpressions < YARP::Compiler + def visit_arguments_node(node) + [:arguments, super] + end + + def visit_call_node(node) + [:call, super] + end + + def visit_integer_node(node) + [:integer] + end + + def visit_program_node(node) + [:program, super] + end + end + + def test_compiler + expected = [:program, [[[:call, [[:integer], [:arguments, [[:integer]]]]]]]] + assert_equal expected, YARP.parse("1 + 2").value.accept(SExpressions.new) + end + end +end diff --git a/test/yarp/desugar_visitor_test.rb b/test/yarp/desugar_compiler_test.rb index 3966d7bfcb..8d2b207fed 100644 --- a/test/yarp/desugar_visitor_test.rb +++ b/test/yarp/desugar_compiler_test.rb @@ -3,7 +3,7 @@ require_relative "test_helper" module YARP - class DesugarVisitorTest < TestCase + class DesugarCompilerTest < TestCase def test_and_write assert_desugars("(AndNode (ClassVariableReadNode) (ClassVariableWriteNode (CallNode)))", "@@foo &&= bar") assert_not_desugared("Foo::Bar &&= baz", "Desugaring would execute Foo twice or need temporary variables") @@ -72,7 +72,7 @@ module YARP end def assert_desugars(expected, source) - ast = YARP.parse(source).value.accept(DesugarVisitor.new) + ast = YARP.parse(source).value.accept(DesugarCompiler.new) assert_equal expected, ast_inspect(ast.statements.body.last) ast.accept(EnsureEveryNodeOnceInAST.new) @@ -80,7 +80,7 @@ module YARP def assert_not_desugared(source, reason) ast = YARP.parse(source).value - assert_equal_nodes(ast, ast.accept(DesugarVisitor.new)) + assert_equal_nodes(ast, ast.accept(DesugarCompiler.new)) end end end |
