From d457fdad2dbcba31eee20f491deae3120db11dec Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 19 May 2008 18:47:56 +0000 Subject: * eval.c, vm_insnhelper.c: fix cref in instance_eval and cvar_base search protocol. * bootstraptest/test_knownbug.rb, test_eval.rb: move soleved test and add new tests. * test/ruby/test_eval.rb: fix tests for spec. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bootstraptest/test_eval.rb | 46 ++++++++++++++++++++++++++++++++++++++++++ bootstraptest/test_knownbug.rb | 10 --------- 2 files changed, 46 insertions(+), 10 deletions(-) (limited to 'bootstraptest') diff --git a/bootstraptest/test_eval.rb b/bootstraptest/test_eval.rb index 339e763f46..4c8e5aaa09 100644 --- a/bootstraptest/test_eval.rb +++ b/bootstraptest/test_eval.rb @@ -236,3 +236,49 @@ assert_equal 'ok', %q{ :ok end } + +assert_equal 'ok', %q{ + begin + 0.instance_eval { def m() :m end } + 1.m + :ng + rescue Exception + :ok + end +}, '[ruby-dev:34579]' + +assert_equal 'ok', %q{ + begin + 12.instance_eval { @@a } + rescue NameError + :ok + end +}, '[ruby-core:16794]' + +assert_equal 'ok', %q{ + begin + 12.instance_exec { @@a } + rescue NameError + :ok + end +}, '[ruby-core:16794]' + +assert_equal 'ok', %q{ + begin + nil.instance_eval { + def a() :a end + } + rescue => TypeError + :ok + end +}, '[ruby-core:16796]' + +assert_equal 'ok', %q{ + begin + nil.instance_exec { + def a() :a end + } + rescue => TypeError + :ok + end +}, '[ruby-core:16796]' diff --git a/bootstraptest/test_knownbug.rb b/bootstraptest/test_knownbug.rb index 9f1bbc8a4d..5fb6136508 100644 --- a/bootstraptest/test_knownbug.rb +++ b/bootstraptest/test_knownbug.rb @@ -91,16 +91,6 @@ assert_equal 'ok', %q{ }.call }, '[ruby-dev:34646]' -assert_equal 'ok', %q{ - begin - 0.instance_eval { def m() :m end } - 1.m - :ng - rescue Exception - :ok - end -}, '[ruby-dev:34579]' - assert_normal_exit %q{ eval("", method(:proc).call {}.binding) } -- cgit v1.2.3