summaryrefslogtreecommitdiff
path: root/spec/ruby/core/enumerator/chain/each_spec.rb
blob: ab4d355f22fc4a99766d4894d31132de01d06f60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
require_relative '../../../spec_helper'
require_relative '../../enumerable/fixtures/classes'

ruby_version_is "2.6" do
  describe "Enumerator::Chain#each" do
    it "calls each on its constituents as needed" do
      a = EnumerableSpecs::EachCounter.new(:a, :b)
      b = EnumerableSpecs::EachCounter.new(:c, :d)

      ScratchPad.record []
      Enumerator::Chain.new(a, b).each do |elem|
        ScratchPad << elem << b.times_yielded
      end
      ScratchPad.recorded.should == [:a, 0, :b, 0, :c, 1, :d, 2]
    end
  end
end