diff options
Diffstat (limited to 'mrbgems/mruby-eval/test/eval.rb')
| -rw-r--r-- | mrbgems/mruby-eval/test/eval.rb | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/mrbgems/mruby-eval/test/eval.rb b/mrbgems/mruby-eval/test/eval.rb index be43412f7..8cf658f29 100644 --- a/mrbgems/mruby-eval/test/eval.rb +++ b/mrbgems/mruby-eval/test/eval.rb @@ -100,7 +100,22 @@ assert('Object#instance_eval with begin-rescue-ensure execution order') do assert_equal([:enter_raise_hell, :begin, :rescue, :ensure], hell_raiser.raise_hell) end -assert('Kernel.#eval(strinng) Issue #4021') do +assert('Kernel#instance_eval() to define singleton methods Issue #3141') do + foo_class = Class.new do + def bar(x) + instance_eval "def baz; #{x}; end" + end + end + + f1 = foo_class.new + f2 = foo_class.new + f1.bar 1 + f2.bar 2 + assert_equal(1){f1.baz} + assert_equal(2){f2.baz} +end + +assert('Kernel.#eval(string) Issue #4021') do assert_equal('FOO') { (eval <<'EOS').call } foo = "FOO" Proc.new { foo } |
