adhearsion 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,8 @@
1
1
  # [develop](https://github.com/adhearsion/adhearsion)
2
2
 
3
+ # [2.1.1](https://github.com/adhearsion/adhearsion/compare/v2.1.0...v2.1.1) - [2012-09-05](https://rubygems.org/gems/adhearsion/versions/2.1.1)
4
+ * Bugfix: #dial timeout now does not place an upper limit on the duration of a bridged call
5
+
3
6
  # [2.1.0](https://github.com/adhearsion/adhearsion/compare/v2.0.1...v2.1.0) - [2012-08-07](https://rubygems.org/gems/adhearsion/versions/2.1.0)
4
7
 
5
8
  ## Features
@@ -139,6 +139,7 @@ module Adhearsion
139
139
 
140
140
  def await_completion
141
141
  @latch.wait(@options[:timeout]) || status.timeout!
142
+ @latch.wait if status.result == :answer
142
143
  end
143
144
 
144
145
  def cleanup_calls
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Adhearsion
4
- VERSION = '2.1.0'
4
+ VERSION = '2.1.1'
5
5
  end
@@ -388,6 +388,38 @@ module Adhearsion
388
388
  status = t.value
389
389
  status.result.should be == :timeout
390
390
  end
391
+
392
+ describe "if someone answers before the timeout elapses" do
393
+ it "should not abort until the far end hangs up" do
394
+ flexmock(other_mock_call).should_receive(:dial).once.with(to, hsh(:timeout => timeout))
395
+ flexmock(other_mock_call).should_receive(:join).once.with(call)
396
+ flexmock(other_mock_call).should_receive(:hangup).once
397
+ flexmock(OutboundCall).should_receive(:new).and_return other_mock_call
398
+
399
+ time = Time.now
400
+
401
+ t = Thread.new do
402
+ status = subject.dial to, :timeout => timeout
403
+ latch.countdown!
404
+ status
405
+ end
406
+
407
+ latch.wait(2).should be_false
408
+
409
+ other_mock_call << mock_answered
410
+
411
+ latch.wait(2).should be_false
412
+
413
+ other_mock_call << mock_end
414
+
415
+ latch.wait(0.1).should be_true
416
+ time = Time.now - time
417
+ time.to_i.should be > timeout
418
+ t.join
419
+ status = t.value
420
+ status.result.should be == :answer
421
+ end
422
+ end
391
423
  end
392
424
 
393
425
  describe "with a confirmation controller" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adhearsion
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -12,7 +12,7 @@ authors:
12
12
  autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
- date: 2012-08-07 00:00:00.000000000 Z
15
+ date: 2012-09-05 00:00:00.000000000 Z
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: activesupport
@@ -624,7 +624,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
624
624
  version: '0'
625
625
  segments:
626
626
  - 0
627
- hash: -4451670451160143860
627
+ hash: -995464147813502065
628
628
  required_rubygems_version: !ruby/object:Gem::Requirement
629
629
  none: false
630
630
  requirements:
@@ -633,10 +633,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
633
633
  version: '0'
634
634
  segments:
635
635
  - 0
636
- hash: -4451670451160143860
636
+ hash: -995464147813502065
637
637
  requirements: []
638
638
  rubyforge_project:
639
- rubygems_version: 1.8.24
639
+ rubygems_version: 1.8.23
640
640
  signing_key:
641
641
  specification_version: 3
642
642
  summary: Adhearsion, open-source telephony development framework