Torsten Rüger
1ee01622c3
All preloading where it needs to be (some)tests for the preload split compiler test remembered binary tests (usually just run on travis)
115 lines
2.8 KiB
Ruby
115 lines
2.8 KiB
Ruby
require_relative "helper"
|
|
|
|
module Ruby
|
|
class TestBasicValues < MiniTest::Test
|
|
include RubyTests
|
|
|
|
def test_self
|
|
lst = compile( "self")
|
|
assert_equal SelfExpression , lst.class
|
|
end
|
|
def test_nil
|
|
lst = compile( "nil")
|
|
assert_equal NilConstant , lst.class
|
|
end
|
|
def test_false
|
|
lst = compile( "false")
|
|
assert_equal FalseConstant , lst.class
|
|
end
|
|
def test_true
|
|
lst = compile( "true")
|
|
assert_equal TrueConstant , lst.class
|
|
end
|
|
def test_integer
|
|
lst = compile( "123")
|
|
assert_equal IntegerConstant , lst.class
|
|
end
|
|
def test_string
|
|
lst = compile( "'string'")
|
|
assert_equal StringConstant , lst.class , lst.inspect
|
|
end
|
|
def test_sym
|
|
lst = compile( ":symbol")
|
|
assert_equal SymbolConstant , lst.class , lst.inspect
|
|
end
|
|
def test_dstr
|
|
assert_raises Ruby::ProcessError do
|
|
compile( '"interpolate #{self}"')
|
|
end
|
|
end
|
|
|
|
def test_scope
|
|
lst = compile( "begin ; 1 ; end")
|
|
assert_equal ScopeStatement , lst.class , lst.inspect
|
|
end
|
|
def test_scope_contents
|
|
lst = compile( "begin ; 1 ; end")
|
|
assert_equal 1 , lst.statements.first.value
|
|
end
|
|
end
|
|
class TestBasicTypes < MiniTest::Test
|
|
include RubyTests
|
|
|
|
def setup
|
|
Parfait.boot!(Parfait.default_test_options)
|
|
end
|
|
def compile_const( input )
|
|
lst = compile( input )
|
|
lst.class
|
|
end
|
|
def test_integer
|
|
assert_equal IntegerConstant , compile_const( "123")
|
|
end
|
|
def test_float
|
|
assert_equal FloatConstant , compile_const( "123.1")
|
|
end
|
|
def test_string
|
|
assert_equal StringConstant , compile_const( "'string'")
|
|
end
|
|
def test_sym
|
|
assert_equal SymbolConstant , compile_const( ":symbol")
|
|
end
|
|
def test_nil
|
|
assert_equal NilConstant , compile_const( "nil")
|
|
end
|
|
def test_false
|
|
assert_equal FalseConstant , compile_const( "false")
|
|
end
|
|
def test_true
|
|
assert_equal TrueConstant , compile_const( "true")
|
|
end
|
|
end
|
|
class TestBasicTypesVool < MiniTest::Test
|
|
include RubyTests
|
|
|
|
def setup
|
|
Parfait.boot!(Parfait.default_test_options)
|
|
end
|
|
def compile_const( input )
|
|
lst = compile( input )
|
|
lst.to_vool.to_s
|
|
end
|
|
def test_integer
|
|
assert_equal "123" , compile_const( "123")
|
|
end
|
|
def test_float
|
|
assert_equal "123.0" , compile_const( "123.0")
|
|
end
|
|
def test_string
|
|
assert_equal "'string'" , compile_const( "'string'")
|
|
end
|
|
def test_sym
|
|
assert_equal ":symbol" , compile_const( ":symbol")
|
|
end
|
|
def test_nil
|
|
assert_equal "nil" , compile_const( "nil")
|
|
end
|
|
def test_false
|
|
assert_equal "false" , compile_const( "false")
|
|
end
|
|
def test_true
|
|
assert_equal "true" , compile_const( "true")
|
|
end
|
|
end
|
|
end
|