diff --git a/library/fiber/alive_spec.rb b/core/fiber/alive_spec.rb similarity index 98% rename from library/fiber/alive_spec.rb rename to core/fiber/alive_spec.rb index 47149d5279..a1df582435 100644 --- a/library/fiber/alive_spec.rb +++ b/core/fiber/alive_spec.rb @@ -1,7 +1,5 @@ require_relative '../../spec_helper' -require 'fiber' - describe "Fiber#alive?" do it "returns true for a Fiber that hasn't had #resume called" do fiber = Fiber.new { true } diff --git a/core/fiber/blocking_spec.rb b/core/fiber/blocking_spec.rb index ebefa116af..ed3c057516 100644 --- a/core/fiber/blocking_spec.rb +++ b/core/fiber/blocking_spec.rb @@ -1,8 +1,6 @@ require_relative '../../spec_helper' require_relative 'shared/blocking' -require "fiber" - describe "Fiber.blocking?" do it_behaves_like :non_blocking_fiber, -> { Fiber.blocking? } diff --git a/library/fiber/current_spec.rb b/core/fiber/current_spec.rb similarity index 86% rename from library/fiber/current_spec.rb rename to core/fiber/current_spec.rb index 66e7b35167..b93df77a89 100644 --- a/library/fiber/current_spec.rb +++ b/core/fiber/current_spec.rb @@ -1,12 +1,6 @@ require_relative '../../spec_helper' -require 'fiber' - describe "Fiber.current" do - it "is available without an extra require" do - ruby_exe("print Fiber.current.class", options: '--disable-gems --disable-did-you-mean').should == "Fiber" - end - it "returns the root Fiber when called outside of a Fiber" do root = Fiber.current root.should be_an_instance_of(Fiber) diff --git a/core/fiber/inspect_spec.rb b/core/fiber/inspect_spec.rb index f20a153fc2..fcfef20716 100644 --- a/core/fiber/inspect_spec.rb +++ b/core/fiber/inspect_spec.rb @@ -1,5 +1,4 @@ require_relative '../../spec_helper' -require 'fiber' describe "Fiber#inspect" do describe "status" do diff --git a/core/fiber/raise_spec.rb b/core/fiber/raise_spec.rb index 2f2baa4a12..124f56fe7d 100644 --- a/core/fiber/raise_spec.rb +++ b/core/fiber/raise_spec.rb @@ -130,7 +130,6 @@ describe "Fiber#raise" do it "transfers and raises on a transferring fiber" do - require "fiber" root = Fiber.current fiber = Fiber.new { root.transfer } fiber.transfer diff --git a/core/fiber/resume_spec.rb b/core/fiber/resume_spec.rb index ab9a6799ab..4b20f4b4bf 100644 --- a/core/fiber/resume_spec.rb +++ b/core/fiber/resume_spec.rb @@ -1,5 +1,5 @@ require_relative '../../spec_helper' -require_relative '../../shared/fiber/resume' +require_relative 'shared/resume' describe "Fiber#resume" do it_behaves_like :fiber_resume, :resume @@ -67,4 +67,17 @@ ruby_exe(code).should == "ensure executed\n" end + + it "can work with Fiber#transfer" do + fiber1 = Fiber.new { true } + fiber2 = Fiber.new { fiber1.transfer; Fiber.yield 10 ; Fiber.yield 20; raise } + fiber2.resume.should == 10 + fiber2.resume.should == 20 + end + + it "raises a FiberError if the Fiber attempts to resume a resuming fiber" do + root_fiber = Fiber.current + fiber1 = Fiber.new { root_fiber.resume } + -> { fiber1.resume }.should raise_error(FiberError, /attempt to resume a resuming fiber/) + end end diff --git a/shared/fiber/resume.rb b/core/fiber/shared/resume.rb similarity index 100% rename from shared/fiber/resume.rb rename to core/fiber/shared/resume.rb diff --git a/library/fiber/transfer_spec.rb b/core/fiber/transfer_spec.rb similarity index 97% rename from library/fiber/transfer_spec.rb rename to core/fiber/transfer_spec.rb index e20d51352e..238721475d 100644 --- a/library/fiber/transfer_spec.rb +++ b/core/fiber/transfer_spec.rb @@ -1,7 +1,5 @@ require_relative '../../spec_helper' -require_relative '../../shared/fiber/resume' - -require 'fiber' +require_relative 'shared/resume' describe "Fiber#transfer" do it_behaves_like :fiber_resume, :transfer diff --git a/library/fiber/resume_spec.rb b/library/fiber/resume_spec.rb deleted file mode 100644 index fd69d3ba99..0000000000 --- a/library/fiber/resume_spec.rb +++ /dev/null @@ -1,18 +0,0 @@ -require_relative '../../spec_helper' - -require 'fiber' - -describe "Fiber#resume" do - it "can work with Fiber#transfer" do - fiber1 = Fiber.new { true } - fiber2 = Fiber.new { fiber1.transfer; Fiber.yield 10 ; Fiber.yield 20; raise } - fiber2.resume.should == 10 - fiber2.resume.should == 20 - end - - it "raises a FiberError if the Fiber attempts to resume a resuming fiber" do - root_fiber = Fiber.current - fiber1 = Fiber.new { root_fiber.resume } - -> { fiber1.resume }.should raise_error(FiberError, /attempt to resume a resuming fiber/) - end -end diff --git a/optional/capi/fiber_spec.rb b/optional/capi/fiber_spec.rb index 6c72869106..05d867498c 100644 --- a/optional/capi/fiber_spec.rb +++ b/optional/capi/fiber_spec.rb @@ -1,5 +1,4 @@ require_relative 'spec_helper' -require 'fiber' load_extension('fiber')