1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* vm_insnhelper.c (vm_call_method, vm_call_cfunc): use original id instead of

calling id when NODE_CFUNC or NODE_BMETHOD.
  fixes Bug #632 [ruby-core:19282].
* vm_eval.c (vm_call0, vm_call_super): ditto.
* vm_method.c (rb_add_method, rb_alias): store original id
  in nd_file field of NODE_METHOD.
* test/stringio/test_stringio.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@21084 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2008-12-27 03:57:21 +00:00
parent 597220ef0c
commit b30b998966
5 changed files with 43 additions and 11 deletions

View file

@ -379,4 +379,19 @@ class TestStringIO < Test::Unit::TestCase
assert_equal(4, f.size)
end
# This test is should in ruby/test_method.rb
# However this test depends on stringio library,
# we write it here.
class C < StringIO
alias old_init initialize
attr_reader :foo
def initialize
@foo = :ok
old_init
end
end
def test_method
assert_equal(:ok, C.new.foo, 'Bug #632 [ruby-core:19282]')
end
end