Commit 39b6d087 authored by Daniel Bovensiepen's avatar Daniel Bovensiepen

Improve alias tests

parent 83d04a53
......@@ -229,26 +229,3 @@ end
assert('Class Dup 2') do
module M; end; M.dup.class == Module
end
assert('Class Alias 1') do
class A
def test; 1; end
alias test2 test
alias :test3 :test
end
A.new.test2 == 1 and A.new.test3 == 1
end
assert('Class Alias 2') do
class A
def test; 1; end
alias test2 test
def test; 2; end
end
A.new.test == 2 and A.new.test2 == 1
end
##
# Chapter 13 "Class and modules" ISO Test
# Chapter 13.3 "Methods" ISO Test
assert('The alias statement', '13.3.6 a) 4)') do
# check aliasing in all possible ways
def alias_test_method_original; true; end
alias alias_test_method_a alias_test_method_original
alias :alias_test_method_b :alias_test_method_original
assert_true(alias_test_method_original)
assert_true(alias_test_method_a)
assert_true(alias_test_method_b)
end
assert('The alias statement (overwrite original)', '13.3.6 a) 4)') do
# check that an aliased method can be overwritten
# without side effect
def alias_test_method_original; true; end
alias alias_test_method_a alias_test_method_original
alias :alias_test_method_b :alias_test_method_original
assert_true(alias_test_method_original)
def alias_test_method_original; false; end
assert_false(alias_test_method_original)
assert_true(alias_test_method_a)
assert_true(alias_test_method_b)
end
assert('The alias statement', '13.3.6 a) 5)') do
# check that alias is raising NameError if
# non-existing method should be undefined
assert_raise(NameError) do
alias new_name_a non_existing_method
end
assert_raise(NameError) do
alias :new_name_b :non_existing_method
end
end
assert('The undef statement', '13.3.7 a) 4)') do
# check that undef is undefining method
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment