diff --git a/test/ruby/test_parse.rb b/test/ruby/test_parse.rb index 008dbbcd92..c8f47d6224 100644 --- a/test/ruby/test_parse.rb +++ b/test/ruby/test_parse.rb @@ -851,4 +851,18 @@ x = __ENCODING__ actual = e.backtrace.first[/\A#{Regexp.quote(__FILE__)}:(\d+):/o, 1].to_i assert_equal(expected, actual, bug5614) end + + def test_shadowing_variable + assert_warning(/shadowing outer local variable/) {eval("a=1; tap {|a|}")} + end + + def test_unused_variable + o = Object.new + assert_warning(/assigned but unused variable/) {o.instance_eval("def foo; a=1; nil; end")} + end + + def test_named_capture_conflict + a = 1 + assert_warning(/named capture conflict/) {eval("a = 1; /(?)/ =~ ''")} + end end