diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/ruby/test_array.rb | 5 | ||||
-rw-r--r-- | test/ruby/test_enum.rb | 17 |
2 files changed, 18 insertions, 4 deletions
diff --git a/test/ruby/test_array.rb b/test/ruby/test_array.rb index 7b0039310a..8a442087ae 100644 --- a/test/ruby/test_array.rb +++ b/test/ruby/test_array.rb @@ -1491,6 +1491,11 @@ class TestArray < Test::Unit::TestCase a = [] a << a assert_equal("[...]", a.join) + + def (a = Object.new).to_a + [self] + end + assert_equal("[...]", [a].join, , '[ruby-core:24150]') end def test_to_a2 diff --git a/test/ruby/test_enum.rb b/test/ruby/test_enum.rb index e0e77b4869..660c59383a 100644 --- a/test/ruby/test_enum.rb +++ b/test/ruby/test_enum.rb @@ -295,14 +295,23 @@ class TestEnumerable < Test::Unit::TestCase assert_equal("123", (1..3).join()) assert_raise(TypeError, '[ruby-core:24172]') {("a".."c").join(1)} class << (e = Object.new.extend(Enumerable)) - def to_s - "e" - end def each yield self end end - assert_equal("e", e.join("")) + assert_equal("[...]", e.join(""), '[ruby-core:24150]') + assert_equal("[...]", [e].join(""), '[ruby-core:24150]') + e = Class.new { + include Enumerable + def initialize(*args) + @e = args + end + def each + @e.each {|e| yield e} + end + } + e = e.new(1, e.new(2, e.new(3, e.new(4, 5)))) + assert_equal("1:2:3:4:5", e.join(':'), '[ruby-core:24196]') ensure $, = ofs end |