Sha256: 4df82be6e13aab94e6912ff104eaac2b0ca8b6144a17658e3ee2758d137668f7
Contents?: true
Size: 1.08 KB
Versions: 1
Compression:
Stored size: 1.08 KB
Contents
require 'spec_helper' describe Adhearsion::Process do before :each do Adhearsion::Process.reset end it 'should trigger :stop_requested events on #shutdown' do flexmock(Adhearsion::Events).should_receive(:trigger_immediately).once.with(:stop_requested) Adhearsion::Process.booted Adhearsion::Process.shutdown end it '#stop_when_zero_calls should wait until the list of active calls reaches 0' do pending calls = ThreadSafeArray.new 3.times do fake_call = Object.new flexmock(fake_call).should_receive(:hangup).once calls << fake_call end flexmock(Adhearsion).should_receive(:active_calls).and_return calls flexmock(Adhearsion::Process.instance).should_receive(:final_shutdown).once calls = [] 3.times { calls << Thread.new { sleep 1; calls.pop } } Adhearsion::Process.stop_when_zero_calls calls.each { |thread| thread.join } end it 'should terminate the process immediately on #force_stop' do flexmock(::Process).should_receive(:exit).with(1).once.and_return true Adhearsion::Process.force_stop end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
adhearsion-2.0.0.alpha1 | spec/adhearsion/process_spec.rb |