diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-20 09:53:31 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-01-20 09:53:31 +0000 |
commit | 07efe466f6cecef2e55ff1dfebfdecafa0128bac (patch) | |
tree | 10c2ae9f64625f23e95ac741aa9a66e08c711018 /test | |
parent | a68afb2a4f2772927cfbca0f44dab7a89d7716af (diff) |
merges r21678 from trunk into ruby_1_9_1.
* array.c (take_items), enum.c (enum_zip): tries to convert to
array first. [ruby-core:21442]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@21693 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_array.rb | 5 | ||||
-rw-r--r-- | test/ruby/test_enum.rb | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/test/ruby/test_array.rb b/test/ruby/test_array.rb index 9edd31dfa7..04ed13892b 100644 --- a/test/ruby/test_array.rb +++ b/test/ruby/test_array.rb @@ -1502,6 +1502,11 @@ class TestArray < Test::Unit::TestCase a = [] [1, 2, 3].zip([:a, :b], ["a", "b", "c", "d"]) {|x| a << x } assert_equal([[1, :a, "a"], [2, :b, "b"], [3, nil, "c"]], a) + + ary = Object.new + def ary.to_a; [1, 2]; end + def ary.to_ary; [3, 4]; end + assert_equal([[5, 3], [6, 4]], [5, 6].zip(ary)) end def test_transpose diff --git a/test/ruby/test_enum.rb b/test/ruby/test_enum.rb index ed82d7787f..973b7cb420 100644 --- a/test/ruby/test_enum.rb +++ b/test/ruby/test_enum.rb @@ -211,6 +211,11 @@ class TestEnumerable < Test::Unit::TestCase a = [] @obj.zip([:a, :b, :c]) {|x,y| a << [x, y] } assert_equal([[1,:a],[2,:b],[3,:c],[1,nil],[2,nil]], a) + + ary = Object.new + def ary.to_a; [1, 2]; end + def ary.to_ary; [3, 4]; end + assert_equal([[1, 3], [2, 4], [3, nil], [1, nil], [2, nil]], @obj.zip(ary)) end def test_take |