diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-09-24 18:43:32 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-09-24 18:43:32 +0000 |
commit | 73220a234e978fe92b20287a1d4cd1c540ffe103 (patch) | |
tree | 7c2e73c685f8a65cb7a3bb5074cf0f3dba269698 | |
parent | 48ddab1e7d3338a6827b2311099e1a28dd5ab8f1 (diff) | |
download | ruby-73220a234e978fe92b20287a1d4cd1c540ffe103.tar.gz |
* enum.c (slice_before_i): use rb_attr_get to surpress wrong warning
for internal instance variable slicebefore_initial_state.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33324 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | enum.c | 2 | ||||
-rw-r--r-- | test/ruby/test_enum.rb | 16 |
3 files changed, 22 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Sun Sep 25 03:43:03 2011 NARUSE, Yui <naruse@ruby-lang.org> + + * enum.c (slice_before_i): use rb_attr_get to surpress wrong warning + for internal instance variable slicebefore_initial_state. + Fri Sep 23 14:20:14 2011 Martin Bosslet <Martin.Bosslet@googlemail.com> * ext/openssl/ossl_asn1.c: remove unused variable. @@ -2469,7 +2469,7 @@ slicebefore_i(VALUE yielder, VALUE enumerator, int argc, VALUE *argv) enumerable = rb_ivar_get(enumerator, rb_intern("slicebefore_enumerable")); arg.sep_pred = rb_attr_get(enumerator, rb_intern("slicebefore_sep_pred")); arg.sep_pat = NIL_P(arg.sep_pred) ? rb_ivar_get(enumerator, rb_intern("slicebefore_sep_pat")) : Qnil; - arg.state = rb_ivar_get(enumerator, rb_intern("slicebefore_initial_state")); + arg.state = rb_attr_get(enumerator, rb_intern("slicebefore_initial_state")); arg.prev_elts = Qnil; arg.yielder = yielder; diff --git a/test/ruby/test_enum.rb b/test/ruby/test_enum.rb index d5353f680c..c8f2fad546 100644 --- a/test/ruby/test_enum.rb +++ b/test/ruby/test_enum.rb @@ -1,5 +1,6 @@ require 'test/unit' require 'continuation' +require 'stringio' class TestEnumerable < Test::Unit::TestCase def setup @@ -22,6 +23,20 @@ class TestEnumerable < Test::Unit::TestCase $VERBOSE = @verbose end + def assert_not_warn + begin + org_stderr = $stderr + v = $VERBOSE + $stderr = StringIO.new(warn = '') + $VERBOSE = true + yield + ensure + $stderr = org_stderr + $VERBOSE = v + end + assert_equal("", warn) + end + def test_grep assert_equal([1, 2, 1, 2], @obj.grep(1..2)) a = [] @@ -383,6 +398,7 @@ class TestEnumerable < Test::Unit::TestCase ss = %w[abc defg h ijk l mno pqr st u vw xy z] assert_equal([%w[abc defg h], %w[ijk l], %w[mno], %w[pqr st u vw xy z]], ss.slice_before(/\A...\z/).to_a) + assert_not_warn{ss.slice_before(/\A...\z/).to_a} end end |