Torsten
db5a59f735
Was getting confused myself, where it was instruction or instructions, when if the base class was inside or out of dir. Now dirs are plural, and base class is inside.
36 lines
1.1 KiB
Ruby
36 lines
1.1 KiB
Ruby
require_relative "helper"
|
|
|
|
module SlotMachine
|
|
class TestSlotLoad3 < MiniTest::Test
|
|
include Parfait::MethodHelper
|
|
|
|
def setup
|
|
Parfait.boot!(Parfait.default_test_options)
|
|
method = make_method
|
|
compiler = Risc.test_compiler
|
|
@cache_entry = Parfait::CacheEntry.new(method.frame_type, method)
|
|
load = SlotLoad.new("test", [@cache_entry , :cached_type] , [:message, :type] )
|
|
load.to_risc(compiler)
|
|
@instructions = compiler.risc_instructions.next
|
|
end
|
|
def test_ins_next_class
|
|
assert_equal Risc::SlotToReg , @instructions.class
|
|
assert_equal Risc::LoadConstant, @instructions.next.class
|
|
end
|
|
def test_ins_next_class
|
|
assert_equal Risc::RegToSlot , @instructions.next(2).class
|
|
assert_equal NilClass , @instructions.next(3).class
|
|
end
|
|
def test_ins
|
|
assert_slot_to_reg @instructions , :message , 0 , "message.type"
|
|
end
|
|
def test_ins_next
|
|
assert_load @instructions.next , Parfait::CacheEntry , "id_"
|
|
end
|
|
def test_ins_next_2
|
|
assert_reg_to_slot @instructions.next(2) , :"message.type" , "id_", 1
|
|
end
|
|
|
|
end
|
|
end
|