summaryrefslogtreecommitdiffstats
path: root/test/ruby/test_iterator.rb
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-06-15 04:25:07 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-06-15 04:25:07 +0000
commitfd06526c1906ca0859776186aec0231607518deb (patch)
treecc188dfd428f1b2eae75a6de81c68e2701d60ffc /test/ruby/test_iterator.rb
parent08d05f0466bb6922d047e8eb1ba9145fc6b55d5d (diff)
downloadruby-fd06526c1906ca0859776186aec0231607518deb.tar.gz
ruby-fd06526c1906ca0859776186aec0231607518deb.tar.xz
ruby-fd06526c1906ca0859776186aec0231607518deb.zip
* hash.c: exchange semantics of Hash#each and Hash#each_pair.
pointed out by [ruby-dev:30997]. * test/ruby/test_iterator.rb: ditto. * test/ruby/test_yield.rb: ditto. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12546 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/ruby/test_iterator.rb')
-rw-r--r--test/ruby/test_iterator.rb17
1 files changed, 13 insertions, 4 deletions
diff --git a/test/ruby/test_iterator.rb b/test/ruby/test_iterator.rb
index 20d3b55d1..0fce5eabd 100644
--- a/test/ruby/test_iterator.rb
+++ b/test/ruby/test_iterator.rb
@@ -359,15 +359,24 @@ class TestIterator < Test::Unit::TestCase
class H
def each
+ yield [:key, :value]
+ end
+
+ def each_pair
yield :key, :value
end
end
def test_assoc_yield
- [{:key=>:value}, H.new].each {|h|
- h.each{|a| assert_equal(:key, a)} # changed at 1.9
- h.each{|*a| assert_equal([:key, :value], a)}
- h.each{|k,v| assert_equal([:key, :value], [k,v])}
+ [{:key=>:value}, H.new].each {|h|
+ h.each{|a| assert_equal([:key, :value], a)}
+ h.each{|a,| assert_equal(:key, a)}
+ h.each{|*a| assert_equal([[:key, :value]], a)}
+ h.each{|k,v| assert_equal([:key, :value], [k,v])}
+ h.each_pair{|a| assert_equal(:key, a)}
+ h.each_pair{|a,| assert_equal(:key, a)}
+ h.each_pair{|*a| assert_equal([:key, :value], a)}
+ h.each_pair{|k,v| assert_equal([:key, :value], [k,v])}
}
end