rubyx/test/ruby/helper.rb

56 lines
1.3 KiB
Ruby
Raw Normal View History

require_relative "../helper"
module Ruby
module RubyTests
include ScopeHelper
def setup
2019-02-08 22:03:23 +01:00
Parfait.boot!(Parfait.default_test_options)
end
def compile(input)
RubyCompiler.compile(input)
end
def compile_main(input)
RubyCompiler.compile(as_main(input))
end
def compile_main_vool(input)
xcompiler = RubyX::RubyXCompiler.new(RubyX.default_test_options)
xcompiler.ruby_to_vool(as_main(input))
end
def assert_raises_muted &block
orig_stdout = $stdout
$stdout = StringIO.new
assert_raises &block
$stdout = orig_stdout
end
end
2019-03-07 09:47:48 +01:00
module AttributeTests
include RubyTests
def setup
super
@vool = compile( "class Tryout < Base; #{attr_def};end" ).to_vool
end
def getter
@vool.body.statements.first
end
def setter
@vool.body.statements.last
end
def test_class
assert_equal Vool::ClassExpression , @vool.class
end
def test_body
assert_equal Vool::Statements , @vool.body.class
end
def test_getter
assert_equal Vool::MethodExpression , getter.class
end
def test_getter_return
assert_equal Vool::ReturnStatement , getter.body.class
end
def test_getter_name
assert_equal :page , getter.name
end
2019-03-07 09:47:48 +01:00
end
end