1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* test/ruby/test_{class,module}.rb (test_method_redefinition): include

warned line number.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25151 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2009-09-29 06:59:42 +00:00
parent e6fb96e691
commit 811c2d5100
2 changed files with 32 additions and 2 deletions

View file

@ -106,13 +106,14 @@ class TestClass < Test::Unit::TestCase
end end
def test_method_redefinition def test_method_redefinition
line = __LINE__+4
stderr = EnvUtil.verbose_warning do stderr = EnvUtil.verbose_warning do
Class.new do Class.new do
def foo; end def foo; end
def foo; end def foo; end
end 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 stderr = EnvUtil.verbose_warning do
Class.new do Class.new do
@ -132,6 +133,7 @@ class TestClass < Test::Unit::TestCase
end end
assert_equal("", stderr) assert_equal("", stderr)
line = __LINE__+4
stderr = EnvUtil.verbose_warning do stderr = EnvUtil.verbose_warning do
Class.new do Class.new do
define_method(:foo) do end define_method(:foo) do end

View file

@ -788,13 +788,23 @@ class TestModule < Test::Unit::TestCase
end end
def test_method_redefinition def test_method_redefinition
line = __LINE__+4
stderr = EnvUtil.verbose_warning do stderr = EnvUtil.verbose_warning do
Module.new do Module.new do
def foo; end def foo; end
def foo; end def foo; end
end 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 stderr = EnvUtil.verbose_warning do
Module.new do Module.new do
@ -805,6 +815,24 @@ class TestModule < Test::Unit::TestCase
end end
assert_equal("", stderr) 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)
stderr = EnvUtil.verbose_warning do stderr = EnvUtil.verbose_warning do
Module.new do Module.new do
module_function module_function