implement attr setter correctly
part of #25 still need to do for list and attr_reader
This commit is contained in:
@ -81,19 +81,44 @@ module Ruby
|
||||
input = "class Tryout < Base;attr :page ;end"
|
||||
@vool = compile( input ).to_vool
|
||||
end
|
||||
def getter
|
||||
@vool.body.statements.first
|
||||
end
|
||||
def setter
|
||||
@vool.body.statements.last
|
||||
end
|
||||
def test_class
|
||||
assert_equal Vool::ClassStatement , @vool.class
|
||||
end
|
||||
def test_body
|
||||
assert_equal Vool::Statements , @vool.body.class
|
||||
end
|
||||
def test_compile_class_name
|
||||
assert_equal :Tryout , @vool.name
|
||||
def test_getter
|
||||
assert_equal Vool::MethodStatement , getter.class
|
||||
end
|
||||
def test_compile_class_super
|
||||
assert_equal :Base , @vool.super_class_name
|
||||
def test_getter_return
|
||||
assert_equal Vool::ReturnStatement , getter.body.class
|
||||
end
|
||||
def test_getter_name
|
||||
assert_equal :page , getter.name
|
||||
end
|
||||
def test_setter
|
||||
assert_equal Vool::MethodStatement , setter.class
|
||||
end
|
||||
def test_setter_assign
|
||||
assert_equal Vool::Statements , setter.body.class
|
||||
assert_equal Vool::IvarAssignment , setter.body.first.class
|
||||
end
|
||||
def test_setter_return
|
||||
assert_equal Vool::Statements , setter.body.class
|
||||
assert_equal Vool::ReturnStatement , setter.body.last.class
|
||||
end
|
||||
def test_setter_name
|
||||
assert_equal :page= , setter.name
|
||||
end
|
||||
def test_setter_args
|
||||
assert_equal [:val] , setter.args
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
Reference in New Issue
Block a user