some class send test changes
also ivar, which is still wip
This commit is contained in:
41
test/vool/class_send/test_class_instance.rb
Normal file
41
test/vool/class_send/test_class_instance.rb
Normal file
@ -0,0 +1,41 @@
|
||||
require_relative "helper"
|
||||
|
||||
module Vool
|
||||
class TestClassInstance < MiniTest::Test
|
||||
include Mom
|
||||
include VoolCompile
|
||||
|
||||
def class_main
|
||||
<<-eos
|
||||
class Space
|
||||
def self.some_inst
|
||||
return @inst
|
||||
end
|
||||
def main(arg)
|
||||
return Space.one_plus
|
||||
end
|
||||
end
|
||||
eos
|
||||
end
|
||||
|
||||
def setup
|
||||
source = "class Integer;def +(other);X.int_operator(:+);end;end;" + class_main
|
||||
ret = RubyX::RubyXCompiler.new(RubyX.default_test_options).ruby_to_mom(source)
|
||||
@ins = ret.compilers.find{|c|c.callable.name==:some_inst}.mom_instructions.next
|
||||
end
|
||||
def test_array
|
||||
check_array [SlotLoad, ReturnJump, Label, ReturnSequence, Label] , @ins
|
||||
end
|
||||
def test_load_inst
|
||||
assert_equal SlotLoad, @ins.class
|
||||
end
|
||||
def test_left
|
||||
assert_equal SlotDefinition , @ins.left.class
|
||||
assert_equal [:return_value] , @ins.left.slots
|
||||
end
|
||||
def test_right
|
||||
assert_equal SlotDefinition , @ins.right.class
|
||||
assert_equal [:receiver , :inst] , @ins.right.slots
|
||||
end
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user