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

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