summaryrefslogtreecommitdiff
path: root/test/ruby/test_enum.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby/test_enum.rb')
-rw-r--r--test/ruby/test_enum.rb17
1 files changed, 13 insertions, 4 deletions
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