mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #2975 from yasuyuki/eval_rescue
Add regression test for #2933
This commit is contained in:
@@ -78,3 +78,22 @@ assert('Kernel.#eval(string) context') do
|
||||
assert_equal('class') { obj.const_string }
|
||||
end
|
||||
|
||||
assert('Object#instance_eval with begin-rescue-ensure execution order') do
|
||||
class HellRaiser
|
||||
def raise_hell
|
||||
order = [:enter_raise_hell]
|
||||
begin
|
||||
order.push :begin
|
||||
self.instance_eval("raise 'error'")
|
||||
rescue
|
||||
order.push :rescue
|
||||
ensure
|
||||
order.push :ensure
|
||||
end
|
||||
order
|
||||
end
|
||||
end
|
||||
|
||||
hell_raiser = HellRaiser.new
|
||||
assert_equal([:enter_raise_hell, :begin, :rescue, :ensure], hell_raiser.raise_hell)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user