summaryrefslogtreecommitdiff
path: root/test/ruby/test_enum.rb
diff options
context:
space:
mode:
authorJeremy Evans <code@jeremyevans.net>2022-03-22 12:45:51 -0700
committerJeremy Evans <code@jeremyevans.net>2022-03-23 07:55:49 -0700
commit8f1c69f27ce6b3f5ed1c1cf8d2aa62aa9701d636 (patch)
treea824fa5c87113ddbb982b541819d266d5161e588 /test/ruby/test_enum.rb
parentd32fa986c3631fddcb256dbd39d10b358fb40ead (diff)
Raise ArgumentError when calling Enumberable#inject without block or arguments
Previously, this would work as expected if the enumerable contained 0 or 1 element, and would raise LocalJumpError otherwise. That inconsistent behavior is likely to lead to bugs. Fixes [Bug #18635]
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/5690
Diffstat (limited to 'test/ruby/test_enum.rb')
-rw-r--r--test/ruby/test_enum.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/ruby/test_enum.rb b/test/ruby/test_enum.rb
index b0c43b9a7f..cc217b05cc 100644
--- a/test/ruby/test_enum.rb
+++ b/test/ruby/test_enum.rb
@@ -234,6 +234,8 @@ class TestEnumerable < Test::Unit::TestCase
assert_equal(24, @obj.inject(2) {|z, x| z * x })
assert_equal(24, assert_warning(/given block not used/) {@obj.inject(2, :*) {|z, x| z * x }})
assert_equal(nil, @empty.inject() {9})
+
+ assert_raise(ArgumentError) {@obj.inject}
end
FIXNUM_MIN = RbConfig::LIMITS['FIXNUM_MIN']