summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-eval/test
diff options
context:
space:
mode:
authorSatoshi Odawara <[email protected]>2014-08-08 16:59:40 +0900
committerSatoshi Odawara <[email protected]>2014-08-08 16:59:40 +0900
commit432e8e9ea9f1acb32c7cac9bf41c4b106f88c065 (patch)
tree361727915de45344f9f95ebc349cb608684636c7 /mrbgems/mruby-eval/test
parent569c7dec5f884c3d1345dcc22b7ac0f568a06437 (diff)
downloadmruby-432e8e9ea9f1acb32c7cac9bf41c4b106f88c065.tar.gz
mruby-432e8e9ea9f1acb32c7cac9bf41c4b106f88c065.zip
fixed evaluation context of eval(string) and instance_eval(string)
Diffstat (limited to 'mrbgems/mruby-eval/test')
-rw-r--r--mrbgems/mruby-eval/test/eval.rb13
1 files changed, 13 insertions, 0 deletions
diff --git a/mrbgems/mruby-eval/test/eval.rb b/mrbgems/mruby-eval/test/eval.rb
index 87c64732d..a4e7786da 100644
--- a/mrbgems/mruby-eval/test/eval.rb
+++ b/mrbgems/mruby-eval/test/eval.rb
@@ -60,3 +60,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
+