require 'runit/testcase'
require 'runit/cui/testrunner'
class TestScriptFile_RenameInstanceVar < RUNIT::TestCase
end
class TestScript_RenameInstanceVar < RUNIT::TestCase
def test_rename_instance_var
script = RRB::Script.new_from_filenames('samples/rename_instance_var_sample.rb','samples/rename_instance_var_sample2.rb')
script.rename_instance_var(RRB::NS.new('X::A'), '@a', '@f')
dst = ''
script.result_to_io(dst)
assert_equals(File.open('samples/rename_instance_var_sample_after.rb').read, dst)
script = RRB::Script.new_from_filenames('samples/rename_instance_var_sample.rb','samples/rename_instance_var_sample2.rb')
script.rename_instance_var(RRB::NS.new(['X', 'B']), '@a', '@f')
dst = ''
script.result_to_io(dst)
assert_equals(File.open('samples/rename_instance_var_sample_after.rb').read, dst)
end
def test_rename_instance_var?
script = RRB::Script.new_from_filenames('samples/rename_instance_var_sample.rb','samples/rename_instance_var_sample2.rb')
assert_equals(true, script.rename_instance_var?(RRB::NS.new('X::B'), '@a', '@f'))
assert_equals(false,
script.rename_instance_var?(RRB::NS.new('X::B'), '@a', '@b'))
assert_equals("@b: already used by X::A", script.error_message)
assert_equals(false,
script.rename_instance_var?(RRB::NS.new('X::B'), '@a', '@c'))
assert_equals("@c: already used by X::B", script.error_message)
assert_equals(false,
script.rename_instance_var?(RRB::NS.new('X::B'), '@a', '@d'))
assert_equals("@d: already used by X::C", script.error_message)
assert_equals(false,
script.rename_instance_var?(RRB::NS.new('X::B'), '@a', 'ee'))
assert_equals("ee: not a valid name for instance variables",
script.error_message)
end
end
if $0 == __FILE__
suite = RUNIT::TestSuite.new
suite.add_test( TestScriptFile_RenameInstanceVar )
suite.add_test( TestScript_RenameInstanceVar )
RUNIT::CUI::TestRunner.run(suite)
end
syntax highlighted by Code2HTML, v. 0.9.1