diff options
Diffstat (limited to 'spec/rubyspec/library/thread/sizedqueue/num_waiting_spec.rb')
-rw-r--r-- | spec/rubyspec/library/thread/sizedqueue/num_waiting_spec.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/rubyspec/library/thread/sizedqueue/num_waiting_spec.rb b/spec/rubyspec/library/thread/sizedqueue/num_waiting_spec.rb new file mode 100644 index 0000000000..2ce53875cc --- /dev/null +++ b/spec/rubyspec/library/thread/sizedqueue/num_waiting_spec.rb @@ -0,0 +1,18 @@ +require File.expand_path('../../../../spec_helper', __FILE__) +require 'thread' +require File.expand_path('../../shared/queue/num_waiting', __FILE__) + +describe "Thread::SizedQueue#num_waiting" do + it_behaves_like :queue_num_waiting, :num_waiting, -> { SizedQueue.new(10) } + + it "reports the number of threads waiting to push" do + q = SizedQueue.new(1) + q.push(1) + t = Thread.new { q.push(2) } + sleep 0.05 until t.stop? + q.num_waiting.should == 1 + + q.pop + t.join + end +end |