diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-27 03:57:21 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-27 03:57:21 +0000 |
commit | b30b998966553a614f18703536b49a4dc273e0c6 (patch) | |
tree | 08400ea71783592d249227c384eeb28e85801bef /test/stringio/test_stringio.rb | |
parent | 597220ef0c694a74663e064b73605bd48ad7250b (diff) | |
download | ruby-b30b998966553a614f18703536b49a4dc273e0c6.tar.gz |
* 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
Diffstat (limited to 'test/stringio/test_stringio.rb')
-rw-r--r-- | test/stringio/test_stringio.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/test/stringio/test_stringio.rb b/test/stringio/test_stringio.rb index 8f0dc8702c..98cf84e00f 100644 --- a/test/stringio/test_stringio.rb +++ b/test/stringio/test_stringio.rb @@ -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 |