change the ruby block to be like the ruby block

ie modelled like the ast outputs it
This commit is contained in:
Torsten Ruger
2018-07-19 16:22:44 +03:00
parent 61225c2f20
commit f728725b1a
3 changed files with 15 additions and 19 deletions

View File

@ -1,30 +1,28 @@
require_relative "helper"
module Ruby
class TestBlockStatementX < MiniTest::Test
class TestBlockStatement < MiniTest::Test
include RubyTests
def setup()
input = "plus_one{|arg1| arg1 + 1 } "
@lst = compile( input )
end
def test_method
assert_equal SendStatement , @lst.class
end
def test_block
assert_equal BlockStatement , @lst.block.class
assert_equal BlockStatement , @lst.class
end
def test_send
assert_equal SendStatement , @lst.send.class
end
def test_method_name
assert_equal :plus_one , @lst.name
assert_equal :plus_one , @lst.send.name
end
def test_block_args
assert_equal [:arg1] , @lst.block.args
assert_equal [:arg1] , @lst.args
end
def test_block_body
assert_equal SendStatement , @lst.block.body.class
assert_equal 1 , @lst.block.body.arguments.length
assert_equal SendStatement , @lst.body.class
assert_equal 1 , @lst.body.arguments.length
end
end
end