ruby-changes:2525
From: ko1@a...
Date: 26 Nov 2007 10:31:33 +0900
Subject: [ruby-changes:2525] matz - Ruby:r14016 (trunk): * test/ruby/test_eval.rb (TestEval::test_instance_eval_cvar):
matz 2007-11-26 10:31:20 +0900 (Mon, 26 Nov 2007) New Revision: 14016 Modified files: trunk/ChangeLog trunk/insns.def trunk/test/ruby/test_eval.rb Log: * test/ruby/test_eval.rb (TestEval::test_instance_eval_cvar): updated not to modify class variable of Object class. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14016&r2=14015 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_eval.rb?r1=14016&r2=14015 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/insns.def?r1=14016&r2=14015 Index: insns.def =================================================================== --- insns.def (revision 14015) +++ insns.def (revision 14016) @@ -184,8 +184,7 @@ () (VALUE val) { - VALUE klass = vm_get_cvar_base(th, GET_ISEQ()); - val = rb_cvar_get(klass, id); + val = rb_cvar_get(vm_get_cvar_base(th, GET_ISEQ()), id); } /** Index: ChangeLog =================================================================== --- ChangeLog (revision 14015) +++ ChangeLog (revision 14016) @@ -16,6 +16,11 @@ * lib/rubygems*: Import RubyGems r1516. +Sat Nov 24 23:25:52 2007 Yukihiro Matsumoto <matz@r...> + + * test/ruby/test_eval.rb (TestEval::test_instance_eval_cvar): + updated not to modify class variable of Object class. + Fri Nov 23 17:34:24 2007 Koichi Sasada <ko1@a...> * io.c: add rb_read_internal() as blocking function. Index: test/ruby/test_eval.rb =================================================================== --- test/ruby/test_eval.rb (revision 14015) +++ test/ruby/test_eval.rb (revision 14016) @@ -118,12 +118,9 @@ end def forall_TYPE(mid) - objects = [Object.new, [], nil, true, false, 77, ] #:sym] # TODO: check + objects = [Object.new, [], nil, true, false, 77, :sym] # TODO: check objects.each do |obj| obj.instance_variable_set :@ivar, 12 - obj.class.class_variable_set :@@cvar, 13 - # Use same value with env. See also test_instance_variable_cvar. - obj.class.const_set :Const, 15 unless obj.class.const_defined?(:Const) send mid, obj end end @@ -142,11 +139,7 @@ assert_equal 11, o.instance_eval("11") assert_equal 12, o.instance_eval("@ivar") - begin - assert_equal 13, o.instance_eval("@@cvar") - rescue => err - assert false, "cannot get cvar from #{o.class}" - end + assert_equal 13, o.instance_eval("@@cvar") assert_equal 14, o.instance_eval("$gvar__eval") assert_equal 15, o.instance_eval("Const") assert_equal 16, o.instance_eval("7 + 9") @@ -194,16 +187,13 @@ def test_instance_eval_cvar env = @@cvar - cls = "class" - [Object.new, [], 7, ].each do |obj| # TODO: check :sym - obj.class.class_variable_set :@@cvar, cls + [Object.new, [], 7, :sym].each do |obj| # TODO: check :sym assert_equal env, obj.instance_eval("@@cvar") assert_equal env, obj.instance_eval { @@cvar } end [true, false, nil].each do |obj| - obj.class.class_variable_set :@@cvar, cls - assert_equal cls, obj.instance_eval("@@cvar") - assert_equal cls, obj.instance_eval { @@cvar } + assert_equal env, obj.instance_eval("@@cvar") + assert_equal env, obj.instance_eval { @@cvar } end end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml