diff options
| author | INOUE Yasuyuki <[email protected]> | 2015-10-04 18:22:34 +0900 |
|---|---|---|
| committer | INOUE Yasuyuki <[email protected]> | 2015-10-04 18:22:34 +0900 |
| commit | 49bfaca6c77bbf72b225ecaa79a9e1a1baa57852 (patch) | |
| tree | faf3c50b59a29dd43fbd9638a00c4f5cec84fcae /mrbgems/mruby-eval | |
| parent | e1ec2b02bebabca9ae6de14709c8ae0724a626be (diff) | |
| download | mruby-49bfaca6c77bbf72b225ecaa79a9e1a1baa57852.tar.gz mruby-49bfaca6c77bbf72b225ecaa79a9e1a1baa57852.zip | |
Add regression test for #2933
Diffstat (limited to 'mrbgems/mruby-eval')
| -rw-r--r-- | mrbgems/mruby-eval/test/eval.rb | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/mrbgems/mruby-eval/test/eval.rb b/mrbgems/mruby-eval/test/eval.rb index e5d3bde18..17860b132 100644 --- a/mrbgems/mruby-eval/test/eval.rb +++ b/mrbgems/mruby-eval/test/eval.rb @@ -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 |
