adhearsion 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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