зеркало из https://github.com/github/ruby.git
31 строка
640 B
Ruby
31 строка
640 B
Ruby
# frozen_string_literal: true
|
|
|
|
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
|