summaryrefslogtreecommitdiff
path: root/test/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'test/ruby')
-rw-r--r--test/ruby/test_enum.rb10
-rw-r--r--test/ruby/test_enumerator.rb2
2 files changed, 11 insertions, 1 deletions
diff --git a/test/ruby/test_enum.rb b/test/ruby/test_enum.rb
index 1029143db6..5fbb2d3663 100644
--- a/test/ruby/test_enum.rb
+++ b/test/ruby/test_enum.rb
@@ -1135,4 +1135,14 @@ class TestEnumerable < Test::Unit::TestCase
end
assert_equal [1, 2, 3, 4, 5], (1..5).sort_by{|e| klass.new e}
end
+
+ def test_filter_map
+ @obj = (1..8).to_a
+ assert_equal([4, 8, 12, 16], @obj.filter_map { |i| i * 2 if i.even? })
+ assert_equal([2, 4, 6, 8, 10, 12, 14, 16], @obj.filter_map { |i| i * 2 })
+ assert_equal([0, 0, 0, 0, 0, 0, 0, 0], @obj.filter_map { 0 })
+ assert_equal([], @obj.filter_map { false })
+ assert_equal([], @obj.filter_map { nil })
+ assert_instance_of(Enumerator, @obj.filter_map)
+ end
end
diff --git a/test/ruby/test_enumerator.rb b/test/ruby/test_enumerator.rb
index 5d1e8f05b1..6bc776dee5 100644
--- a/test/ruby/test_enumerator.rb
+++ b/test/ruby/test_enumerator.rb
@@ -542,7 +542,7 @@ class TestEnumerator < Test::Unit::TestCase
def test_size_for_enum_created_from_enumerable
%i[find_all reject map flat_map partition group_by sort_by min_by max_by
- minmax_by each_with_index reverse_each each_entry].each do |method|
+ minmax_by each_with_index reverse_each each_entry filter_map].each do |method|
assert_equal nil, @obj.send(method).size
assert_equal 42, @sized.send(method).size
end