rename helper
This commit is contained in:
parent
fd7e4afb2f
commit
b1939e9828
@ -9,7 +9,7 @@ Soml::Compiler.class_eval do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
module CompilerHelper
|
module ExpressionHelper
|
||||||
|
|
||||||
def set_main compiler
|
def set_main compiler
|
||||||
compiler.set_main Register.machine.space.get_main
|
compiler.set_main Register.machine.space.get_main
|
@ -1,3 +1,4 @@
|
|||||||
require_relative "test_basic"
|
require_relative "test_basic"
|
||||||
require_relative "test_call"
|
require_relative "test_call"
|
||||||
require_relative "test_field_access"
|
require_relative "test_field_access"
|
||||||
|
require_relative "test_ops"
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
require_relative "compiler_helper"
|
require_relative "helper"
|
||||||
|
|
||||||
|
|
||||||
class TestBasic < MiniTest::Test
|
class TestBasic < MiniTest::Test
|
||||||
include CompilerHelper
|
include ExpressionHelper
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
@root = :basic_type
|
@root = :basic_type
|
||||||
@ -39,6 +39,11 @@ class TestBasic < MiniTest::Test
|
|||||||
check
|
check
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_space
|
||||||
|
@string_input = 'self '
|
||||||
|
check
|
||||||
|
end
|
||||||
|
|
||||||
def test_string
|
def test_string
|
||||||
@string_input = "\"hello\""
|
@string_input = "\"hello\""
|
||||||
check
|
check
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
require_relative "compiler_helper"
|
require_relative "helper"
|
||||||
|
|
||||||
module Register
|
module Register
|
||||||
class TestCall < MiniTest::Test
|
class TestCall < MiniTest::Test
|
||||||
include CompilerHelper
|
include ExpressionHelper
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
Register.machine.boot
|
Register.machine.boot
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
require_relative "compiler_helper"
|
require_relative "helper"
|
||||||
|
|
||||||
module Register
|
module Register
|
||||||
class TestFields < MiniTest::Test
|
class TestFields < MiniTest::Test
|
||||||
include CompilerHelper
|
include ExpressionHelper
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
Register.machine.boot
|
Register.machine.boot
|
||||||
@ -16,6 +16,14 @@ HERE
|
|||||||
assert_raises(RuntimeError) { check }
|
assert_raises(RuntimeError) { check }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_field_not_space
|
||||||
|
@root = :field_access
|
||||||
|
@string_input = <<HERE
|
||||||
|
self.space
|
||||||
|
HERE
|
||||||
|
assert_raises(RuntimeError) { check }
|
||||||
|
end
|
||||||
|
|
||||||
def test_field
|
def test_field
|
||||||
Register.machine.space.get_class_by_name(:Object).object_layout.add_instance_variable(:bro,:Object)
|
Register.machine.space.get_class_by_name(:Object).object_layout.add_instance_variable(:bro,:Object)
|
||||||
@root = :field_access
|
@root = :field_access
|
||||||
@ -34,6 +42,13 @@ HERE
|
|||||||
check
|
check
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_space
|
||||||
|
@root = :name
|
||||||
|
@string_input = 'space '
|
||||||
|
@output = Register::RegisterValue
|
||||||
|
check
|
||||||
|
end
|
||||||
|
|
||||||
def test_args
|
def test_args
|
||||||
Register.machine.space.get_main.arguments.push Parfait::Variable.new(:Integer , :bar)
|
Register.machine.space.get_main.arguments.push Parfait::Variable.new(:Integer , :bar)
|
||||||
@root = :name
|
@root = :name
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
require_relative "compiler_helper"
|
require_relative "helper"
|
||||||
|
|
||||||
module Register
|
module Register
|
||||||
class TestOps < MiniTest::Test
|
class TestOps < MiniTest::Test
|
||||||
include CompilerHelper
|
include ExpressionHelper
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
Register.machine.boot
|
Register.machine.boot
|
||||||
@ -31,13 +31,13 @@ module Register
|
|||||||
end
|
end
|
||||||
|
|
||||||
def test_field_int
|
def test_field_int
|
||||||
Register.machine.space.get_class_by_name(:Object).object_layout.add_instance_variable(:bro)
|
Register.machine.space.get_class_by_name(:Object).object_layout.add_instance_variable(:bro,:int)
|
||||||
@string_input = "self.bro + 3"
|
@string_input = "self.bro + 3"
|
||||||
check
|
check
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_int_field
|
def test_int_field
|
||||||
Register.machine.space.get_class_by_name(:Object).object_layout.add_instance_variable(:bro)
|
Register.machine.space.get_class_by_name(:Object).object_layout.add_instance_variable(:bro,:int)
|
||||||
@string_input = "3 + self.bro"
|
@string_input = "3 + self.bro"
|
||||||
check
|
check
|
||||||
end
|
end
|
||||||
|
@ -61,6 +61,20 @@ HERE
|
|||||||
check
|
check
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def pest_return_space_length # need to add runtime first
|
||||||
|
@string_input = <<HERE
|
||||||
|
class Object
|
||||||
|
|
||||||
|
int main()
|
||||||
|
Layout l = space.get_layout()
|
||||||
|
return self.runner
|
||||||
|
end
|
||||||
|
end
|
||||||
|
HERE
|
||||||
|
@expect = [Label, GetSlot,GetSlot ,SetSlot,Label,RegisterTransfer,GetSlot,FunctionReturn]
|
||||||
|
check
|
||||||
|
end
|
||||||
|
|
||||||
def test_return_call
|
def test_return_call
|
||||||
@string_input = <<HERE
|
@string_input = <<HERE
|
||||||
class Object
|
class Object
|
||||||
|
Loading…
x
Reference in New Issue
Block a user