Sha256: 93bbbb5eb0139e78a71f32856ec7b733e1560f28369be12adbae1f5c6dec1921
Contents?: true
Size: 1.55 KB
Versions: 83
Compression:
Stored size: 1.55 KB
Contents
# XXX Dont have 'fiber' #require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/../../spec_helper' #require File.dirname(File.join(__rhoGetCurrentDir(), __FILE__)) + '/shared/resume' # #ruby_version_is "1.9" do # describe "Fiber#transfer" do # # require 'fiber' # # it_behaves_like(:resume, :transfer) # # it "transfers control from one Fiber to another when called from a Fiber" do # fiber1 = Fiber.new { :fiber1 } # fiber2 = Fiber.new { fiber1.transfer; :fiber2 } # fiber2.resume.should == :fiber1 # end # # it "can be invoked from the same Fiber it transfers control to" do # states = [] # fiber = Fiber.new { states << :start; fiber.transfer; states << :end } # fiber.transfer # states.should == [:start, :end] # # states = [] # fiber = Fiber.new { states << :start; fiber.transfer; states << :end } # fiber.resume # states.should == [:start, :end] # end # # it "can transfer control to a Fiber that has transfered to another Fiber" do # states = [] # fiber1 = Fiber.new { states << :fiber1 } # fiber2 = Fiber.new { states << :fiber2_start; fiber1.transfer; states << :fiber2_end} # fiber2.resume.should == [:fiber2_start, :fiber1] # fiber2.transfer.should == [:fiber2_start, :fiber1, :fiber2_end] # end # # ruby_bug "#1548", "1.9.2" do # it "raises a FiberError when transferring to a Fiber which resumes itself" do # fiber = Fiber.new { fiber.resume } # lambda { fiber.transfer }.should raise_error(FiberError) # end # end # end #end
Version data entries
83 entries across 83 versions & 1 rubygems