require 'runit/testcase'
require 'runit/cui/testrunner'
class TestScriptFile_RenameClassVar < RUNIT::TestCase
end
class TestScript_RenameClassVar < RUNIT::TestCase
def test_rename_class_var
script = RRB::Script.new_from_filenames('samples/rename_class_var_sample.rb')
script.rename_class_var(RRB::NS['X::A'], '@@a', '@@f')
dst = ''
script.result_to_io(dst)
assert_equals(File.open('samples/rename_class_var_sample_after.rb').read, dst)
script = RRB::Script.new_from_filenames('samples/rename_class_var_sample.rb')
script.rename_class_var(RRB::NS['X::B'], '@@a', '@@f')
dst = ''
script.result_to_io(dst)
assert_equals(File.open('samples/rename_class_var_sample_after.rb').read, dst)
end
def test_rename_class_var?
script = RRB::Script.new_from_filenames('samples/rename_class_var_sample.rb')
assert_equals(false, script.rename_class_var?(RRB::NS['X::B'], '@@a', '@@b'))
assert_equals("@@b: already used by X::A", script.error_message)
assert_equals(false, script.rename_class_var?(RRB::NS['X::B'], '@@a', '@@c'))
assert_equals("@@c: already used by X::B", script.error_message)
assert_equals(false, script.rename_class_var?(RRB::NS['X::B'], '@@a', '@@d'))
assert_equals("@@d: already used by X::C", script.error_message)
assert_equals(false, script.rename_class_var?(RRB::NS['X::B'], '@@a', '@@e'))
assert_equals("@@e: already used by X::D", script.error_message)
assert_equals(false, script.rename_class_var?(RRB::NS['X::A'], '@@a', 'fff'))
assert_equals("fff: not a valid name for class variables", script.error_message)
end
end
if $0 == __FILE__
suite = RUNIT::TestSuite.new
suite.add_test( TestScriptFile_RenameClassVar )
suite.add_test( TestScript_RenameClassVar )
RUNIT::CUI::TestRunner.run(suite)
end
syntax highlighted by Code2HTML, v. 0.9.1