summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
Diffstat (limited to 'spec')
-rw-r--r--spec/ruby/library/fiber/transfer_spec.rb15
1 files changed, 12 insertions, 3 deletions
diff --git a/spec/ruby/library/fiber/transfer_spec.rb b/spec/ruby/library/fiber/transfer_spec.rb
index d13053666c..fa094a022d 100644
--- a/spec/ruby/library/fiber/transfer_spec.rb
+++ b/spec/ruby/library/fiber/transfer_spec.rb
@@ -42,9 +42,18 @@ describe "Fiber#transfer" do
fiber2.transfer.should == [:fiber2_start, :fiber1, :fiber2_end]
end
- it "raises a FiberError when transferring to a Fiber which resumes itself" do
- fiber = Fiber.new { fiber.resume }
- -> { fiber.transfer }.should raise_error(FiberError)
+ ruby_version_is ''...'2.7' do
+ it "raises a FiberError when transferring to a Fiber which resumes itself" do
+ fiber = Fiber.new { fiber.resume }
+ -> { fiber.transfer }.should raise_error(FiberError)
+ end
+ end
+
+ ruby_version_is '2.7' do
+ it "allows transferring to a Fiber which resumes itself" do
+ fiber = Fiber.new { fiber.resume 1 }
+ fiber.transfer.should == 1
+ end
end
it "works if Fibers in different Threads each transfer to a Fiber in the same Thread" do