blob: cd565d92a488a3b2908d36fd4995283b0185caf5 (
plain)
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
|
require_relative '../../spec_helper'
describe "Thread.pending_interrupt?" do
it "returns false if there are no pending interrupts, e.g., outside any Thread.handle_interrupt block" do
Thread.pending_interrupt?.should == false
end
it "returns true if there are pending interrupts, e.g., Thread#raise inside Thread.handle_interrupt" do
executed = false
-> {
Thread.handle_interrupt(RuntimeError => :never) do
Thread.pending_interrupt?.should == false
current = Thread.current
Thread.new {
current.raise "interrupt"
}.join
Thread.pending_interrupt?.should == true
executed = true
end
}.should raise_error(RuntimeError, "interrupt")
executed.should == true
Thread.pending_interrupt?.should == false
end
end
describe "Thread#pending_interrupt?" do
it "returns whether the given threads has pending interrupts" do
Thread.current.pending_interrupt?.should == false
end
end
|