diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-07-04 16:54:34 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-08-29 13:24:00 +0900 |
commit | 761346a9604ca2c79777d1d67fb5dcc3c30dbf69 (patch) | |
tree | a06734056a992fdbb3ffa8c8d0ae5ce4e0a639aa /test/ruby/test_module.rb | |
parent | d3e0bc07e2909f1105dcde4febb0e120eaea30b6 (diff) |
Show the previous definition location,
when reopened class/module redefinition mismatched the previous
definition. [Feature #11460]
Diffstat (limited to 'test/ruby/test_module.rb')
-rw-r--r-- | test/ruby/test_module.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb index d56e63e4be..7bb2261ffb 100644 --- a/test/ruby/test_module.rb +++ b/test/ruby/test_module.rb @@ -2383,15 +2383,17 @@ class TestModule < Test::Unit::TestCase def test_redefinition_mismatch m = Module.new - m.module_eval "A = 1" - assert_raise_with_message(TypeError, /is not a module/) { + m.module_eval "A = 1", __FILE__, line = __LINE__ + e = assert_raise_with_message(TypeError, /is not a module/) { m.module_eval "module A; end" } + assert_include(e.message, "#{__FILE__}:#{line}: previous definition") n = "M\u{1f5ff}" - m.module_eval "#{n} = 42" - assert_raise_with_message(TypeError, "#{n} is not a module") { + m.module_eval "#{n} = 42", __FILE__, line = __LINE__ + e = assert_raise_with_message(TypeError, /#{n} is not a module/) { m.module_eval "module #{n}; end" } + assert_include(e.message, "#{__FILE__}:#{line}: previous definition") assert_separately([], <<-"end;") Etc = (class C\u{1f5ff}; self; end).new |