diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-11-30 14:38:15 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-11-30 14:38:15 +0000 |
commit | d69b1e3b305a79659f4686f3cffc5c03c18ea832 (patch) | |
tree | 2d25d5356f6a5680daf45022d7156fbc4f96efa4 /test | |
parent | 9ad02399920e67053063b122f10e9973c50d6ed8 (diff) |
merge revision(s) 58499,58500: [Backport #13181]
parse.y: fix line in rescue
* parse.y (set_line_body, primary): fix line number of bodystmt as
the beginning of the block. [ruby-core:79388] [Bug #13181]
parse.y: set_line_body is not used in ripper
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_3@60947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_parse.rb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/ruby/test_parse.rb b/test/ruby/test_parse.rb index 5181ee4f21..f48928b85e 100644 --- a/test/ruby/test_parse.rb +++ b/test/ruby/test_parse.rb @@ -886,6 +886,19 @@ x = __ENCODING__ assert_equal(-100, e.backtrace_locations.first.lineno, bug) end + def test_method_location_in_rescue + bug = '[ruby-core:79388] [Bug #13181]' + obj, line = Object.new, __LINE__+1 + def obj.location + # + raise + rescue + caller_locations(1, 1)[0] + end + + assert_equal(line, obj.location.lineno, bug) + end + =begin def test_past_scope_variable assert_warning(/past scope/) {catch {|tag| eval("BEGIN{throw tag}; tap {a = 1}; a")}} |