summaryrefslogtreecommitdiff
path: root/spec/ruby/core/enumerator
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2019-09-29 18:01:32 +0200
committerBenoit Daloze <eregontp@gmail.com>2019-09-29 18:01:32 +0200
commita17bc04d159ec9839cc8cfb02dc0cdd2802110f4 (patch)
treea10d4121aeb1517c198ab5b1577bca93912dc1f9 /spec/ruby/core/enumerator
parentf9a9f3c7c6cf3fe534d4934dd3b502d721151b81 (diff)
Update to ruby/spec@e69a14c
Diffstat (limited to 'spec/ruby/core/enumerator')
-rw-r--r--spec/ruby/core/enumerator/lazy/flat_map_spec.rb8
1 files changed, 8 insertions, 0 deletions
diff --git a/spec/ruby/core/enumerator/lazy/flat_map_spec.rb b/spec/ruby/core/enumerator/lazy/flat_map_spec.rb
index 6a3391a503..5dcaa8bfa1 100644
--- a/spec/ruby/core/enumerator/lazy/flat_map_spec.rb
+++ b/spec/ruby/core/enumerator/lazy/flat_map_spec.rb
@@ -5,4 +5,12 @@ require_relative 'shared/collect_concat'
describe "Enumerator::Lazy#flat_map" do
it_behaves_like :enumerator_lazy_collect_concat, :flat_map
+
+ it "properly unwraps nested yields" do
+ s = Enumerator.new do |y| loop do y << [1, 2] end end
+
+ expected = s.take(3).flat_map { |x| x }.to_a
+ actual = s.lazy.take(3).flat_map{ |x| x }.force
+ actual.should == expected
+ end
end