summaryrefslogtreecommitdiffstats
path: root/test/ruby/test_enum.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-10 07:30:08 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-07-10 07:30:08 +0000
commit08ca88378f404d6672cbee1b95fec14597e0e597 (patch)
tree627e3a415dba6b7f070bc0c60db0eec60af897ff /test/ruby/test_enum.rb
parent72fb77606d82cfb43ee28492fd7469af0dc62634 (diff)
downloadruby-08ca88378f404d6672cbee1b95fec14597e0e597.tar.gz
ruby-08ca88378f404d6672cbee1b95fec14597e0e597.tar.xz
ruby-08ca88378f404d6672cbee1b95fec14597e0e597.zip
* array.c (recursive_join): use obj to tell if recursion occurs.
[ruby-core:24150] * enum.c (enum_join): reverted r23966. [ruby-core:24196] git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@24017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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 e0e77b486..660c59383 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