rubyx/test/vool/ruby_compiler/test_class_statement.rb
Torsten Ruger 3702411043 first propper hoisting test
had to change course, normalising and object creation is not possible
in one go
have to now generate random tmp vars  that will have to be picked up
later (sorted by tmp_ prefix?)
2018-03-15 12:46:56 +05:30

44 lines
1.0 KiB
Ruby

require_relative "helper"
module Vool
class TestEmptyClassStatement < MiniTest::Test
def setup
input = "class Tryout < Base;end"
@lst = RubyCompiler.compile( input )
end
def test_compile_class
assert_equal ClassStatement , @lst.class
end
def test_compile_class_name
assert_equal :Tryout , @lst.name
end
def test_compile_class_super
assert_equal :Base , @lst.super_class_name
end
def test_compile_class_body
assert_equal 0 , @lst.body.length
assert_equal ScopeStatement , @lst.body.class
end
end
class TestBasicClassStatement < MiniTest::Test
include CompilerHelper
def test_compile_one_method
lst = RubyCompiler.compile( in_Test("@ivar = 4") )
assert_equal IvarAssignment , lst.body.class
end
def test_compile_two_methods
lst = RubyCompiler.compile( in_Test("false; true;") )
assert_equal ScopeStatement , lst.body.class
assert_equal TrueConstant , lst.body.statements[1].class
end
end
end