diff options
author | Kasper Timm Hansen <kaspth@gmail.com> | 2018-05-21 17:46:48 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-21 17:46:48 +0200 |
commit | 41147e3ef802fe7c6aa0eafc9e584fd68f05d395 (patch) | |
tree | 8473f496ee321f83028608767488f238324fa8b8 /activesupport/test | |
parent | db485a8d992ab4eda513bfe758ebc5478aec661c (diff) | |
parent | 429f15ff7ffbd3f8d1647e5a337daa939f10944b (diff) | |
download | rails-41147e3ef802fe7c6aa0eafc9e584fd68f05d395.tar.gz rails-41147e3ef802fe7c6aa0eafc9e584fd68f05d395.tar.bz2 rails-41147e3ef802fe7c6aa0eafc9e584fd68f05d395.zip |
Merge pull request #32523 from kaspth/enumerable-index-with-extension
Add Enumerable#index_with.
Diffstat (limited to 'activesupport/test')
-rw-r--r-- | activesupport/test/core_ext/enumerable_test.rb | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/activesupport/test/core_ext/enumerable_test.rb b/activesupport/test/core_ext/enumerable_test.rb index 8d71320931..b63464a36a 100644 --- a/activesupport/test/core_ext/enumerable_test.rb +++ b/activesupport/test/core_ext/enumerable_test.rb @@ -179,6 +179,21 @@ class EnumerableTests < ActiveSupport::TestCase payments.index_by.each(&:price)) end + def test_index_with + payments = GenericEnumerable.new([ Payment.new(5), Payment.new(15), Payment.new(10) ]) + + assert_equal({ Payment.new(5) => 5, Payment.new(15) => 15, Payment.new(10) => 10 }, payments.index_with(&:price)) + + assert_equal({ title: nil, body: nil }, %i( title body ).index_with(nil)) + assert_equal({ title: [], body: [] }, %i( title body ).index_with([])) + assert_equal({ title: {}, body: {} }, %i( title body ).index_with({})) + + assert_equal Enumerator, payments.index_with.class + assert_nil payments.index_with.size + assert_equal 42, (1..42).index_with.size + assert_equal({ Payment.new(5) => 5, Payment.new(15) => 15, Payment.new(10) => 10 }, payments.index_with.each(&:price)) + end + def test_many assert_equal false, GenericEnumerable.new([]).many? assert_equal false, GenericEnumerable.new([ 1 ]).many? |