diff options
Diffstat (limited to 'mrbgems/mruby-eval/test/eval.rb')
| -rw-r--r-- | mrbgems/mruby-eval/test/eval.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/mrbgems/mruby-eval/test/eval.rb b/mrbgems/mruby-eval/test/eval.rb index 87c64732d..e5d3bde18 100644 --- a/mrbgems/mruby-eval/test/eval.rb +++ b/mrbgems/mruby-eval/test/eval.rb @@ -32,6 +32,11 @@ assert('Kernel.eval', '15.3.1.2.3') do }.call c } + assert_equal(2) { + a = 10 + Kernel.eval 'def f(a); b=a.send(:+, 1); end' + f(1) + } end assert('Kernel#eval', '15.3.1.3.12') do @@ -60,3 +65,16 @@ assert('String instance_eval') do assert_equal('test') { obj.instance_eval('@test') } assert_equal('test') { obj.instance_eval { @test } } end + +assert('Kernel.#eval(string) context') do + class TestEvalConstScope + EVAL_CONST_CLASS = 'class' + def const_string + eval 'EVAL_CONST_CLASS' + end + end + obj = TestEvalConstScope.new + assert_raise(NameError) { eval 'EVAL_CONST_CLASS' } + assert_equal('class') { obj.const_string } +end + |
