Skip to content
This repository
branch: master
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 40 lines (31 sloc) 0.889 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
require "spec/helper/all"
require "em-synchrony/fiber_iterator"

describe EventMachine::Synchrony::FiberIterator do

  it "should wait until the iterator is done and wrap internal block within a fiber" do
    EM.synchrony do

      results = []
      i = EM::Synchrony::FiberIterator.new(1..5, 2).each do |num|
        EM::Synchrony.sleep(0.1)
        results.push num
      end

      results.should == (1..5).to_a
      results.size.should == 5
      EventMachine.stop
    end
  end

  #
  # it "should sum values within the iterator" do
  # EM.synchrony do
  # data = (1..5).to_a
  # res = EM::Synchrony::FiberIterator.new(data, 2).inject(0) do |total, num, iter|
  # EM::Synchrony.sleep(0.1)
  #
  # p [:sync, total, num]
  # iter.return(total += num)
  # end
  #
  # res.should == data.inject(:+)
  # EventMachine.stop
  # end
  # end



end
Something went wrong with that request. Please try again.