summaryrefslogtreecommitdiffstats
path: root/bootstraptest/test_eval.rb
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-19 18:47:56 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-19 18:47:56 +0000
commitee65d7d76f19a16f0da0ed36e45afba4939524c4 (patch)
treeb22a65c2882e7408c924bc41f90d7c2c614c2460 /bootstraptest/test_eval.rb
parent2fe6158b36d75bc92b14ab8a13f1c9ab0520b03e (diff)
downloadruby-ee65d7d76f19a16f0da0ed36e45afba4939524c4.tar.gz
ruby-ee65d7d76f19a16f0da0ed36e45afba4939524c4.tar.xz
ruby-ee65d7d76f19a16f0da0ed36e45afba4939524c4.zip
* 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: http://svn.ruby-lang.org/repos/ruby/trunk@16486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'bootstraptest/test_eval.rb')
-rw-r--r--bootstraptest/test_eval.rb46
1 files changed, 46 insertions, 0 deletions
diff --git a/bootstraptest/test_eval.rb b/bootstraptest/test_eval.rb
index 339e763f4..4c8e5aaa0 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]'