summaryrefslogtreecommitdiff
path: root/test/ruby/test_module.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_module.rb')
-rw-r--r--test/ruby/test_module.rb30
1 files changed, 29 insertions, 1 deletions
diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb
index 8829a3dcf1..bfb347c468 100644
--- a/test/ruby/test_module.rb
+++ b/test/ruby/test_module.rb
@@ -788,19 +788,47 @@ class TestModule < Test::Unit::TestCase
end
def test_method_redefinition
+ line = __LINE__+4
stderr = EnvUtil.verbose_warning do
Module.new do
def foo; end
def foo; end
end
end
- assert_match(/method redefined; discarding old foo/, stderr)
+ assert_match(/:#{line}: warning: method redefined; discarding old foo/, stderr)
stderr = EnvUtil.verbose_warning do
Module.new do
def foo; end
alias bar foo
+ def foo; end
+ end
+ end
+ assert_equal("", stderr)
+
+ stderr = EnvUtil.verbose_warning do
+ Module.new do
+ def foo; end
+ alias bar foo
+ alias bar foo
+ end
+ end
+ assert_equal("", stderr)
+
+ line = __LINE__+4
+ stderr = EnvUtil.verbose_warning do
+ Module.new do
+ define_method(:foo) do end
+ def foo; end
+ end
+ end
+ assert_match(/:#{line}: warning: method redefined; discarding old foo/, stderr)
+
+ stderr = EnvUtil.verbose_warning do
+ Module.new do
+ define_method(:foo) do end
alias bar foo
+ alias barf oo
end
end
assert_equal("", stderr)