diff options
Diffstat (limited to 'test/prism/compiler_test.rb')
-rw-r--r-- | test/prism/compiler_test.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/prism/compiler_test.rb b/test/prism/compiler_test.rb new file mode 100644 index 0000000000..9a326eb8d6 --- /dev/null +++ b/test/prism/compiler_test.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true +# typed: ignore + +require_relative "test_helper" + +module Prism + class CompilerTest < TestCase + class SExpressions < Prism::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, Prism.parse("1 + 2").value.accept(SExpressions.new) + end + end +end |