Skip to content

Commit 8085541

Browse files
committed
Add Fiber#raise spec to assert returning to the parent fiber
1 parent 52f7d8b commit 8085541

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

spec/ruby/core/fiber/raise_spec.rb

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,26 @@
7272
-> { fiber.raise }.should raise_error
7373
-> { fiber.resume }.should raise_error(FiberError, /dead fiber called|attempt to resume a terminated fiber/)
7474
end
75+
76+
it "returns to calling fiber after raise" do
77+
fiber_one = Fiber.new do
78+
Fiber.yield :yield_one
79+
:unreachable
80+
end
81+
82+
fiber_two = Fiber.new do
83+
results = []
84+
results << fiber_one.resume
85+
begin
86+
fiber_one.raise
87+
rescue
88+
results << :rescued
89+
end
90+
results
91+
end
92+
93+
fiber_two.resume.should == [:yield_one, :rescued]
94+
end
7595
end
7696

7797
end

0 commit comments

Comments
 (0)