diff options
Diffstat (limited to 'spec/ruby/core/enumerator/lazy/flat_map_spec.rb')
-rw-r--r-- | spec/ruby/core/enumerator/lazy/flat_map_spec.rb | 8 |
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 |