punchblock 0.9.2 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (113) hide show
  1. data/.gitignore +1 -0
  2. data/CHANGELOG.md +34 -21
  3. data/Rakefile +20 -0
  4. data/lib/punchblock/client/component_registry.rb +2 -0
  5. data/lib/punchblock/client.rb +2 -2
  6. data/lib/punchblock/command/accept.rb +2 -0
  7. data/lib/punchblock/command/answer.rb +2 -0
  8. data/lib/punchblock/command/dial.rb +2 -0
  9. data/lib/punchblock/command/hangup.rb +2 -0
  10. data/lib/punchblock/command/join.rb +2 -0
  11. data/lib/punchblock/command/mute.rb +2 -0
  12. data/lib/punchblock/command/redirect.rb +2 -0
  13. data/lib/punchblock/command/reject.rb +3 -1
  14. data/lib/punchblock/command/unjoin.rb +2 -0
  15. data/lib/punchblock/command/unmute.rb +2 -0
  16. data/lib/punchblock/command.rb +2 -0
  17. data/lib/punchblock/command_node.rb +2 -0
  18. data/lib/punchblock/component/asterisk/agi/command.rb +4 -2
  19. data/lib/punchblock/component/asterisk/agi.rb +2 -0
  20. data/lib/punchblock/component/asterisk/ami/action.rb +4 -2
  21. data/lib/punchblock/component/asterisk/ami.rb +2 -0
  22. data/lib/punchblock/component/asterisk.rb +2 -0
  23. data/lib/punchblock/component/component_node.rb +2 -0
  24. data/lib/punchblock/component/input.rb +2 -0
  25. data/lib/punchblock/component/output.rb +2 -0
  26. data/lib/punchblock/component/record.rb +2 -0
  27. data/lib/punchblock/component/stop.rb +2 -0
  28. data/lib/punchblock/component.rb +2 -0
  29. data/lib/punchblock/connection/asterisk.rb +4 -1
  30. data/lib/punchblock/connection/connected.rb +2 -0
  31. data/lib/punchblock/connection/generic_connection.rb +5 -0
  32. data/lib/punchblock/connection/xmpp.rb +5 -6
  33. data/lib/punchblock/connection.rb +2 -0
  34. data/lib/punchblock/core_ext/blather/stanza/presence.rb +2 -0
  35. data/lib/punchblock/core_ext/blather/stanza.rb +2 -0
  36. data/lib/punchblock/core_ext/ruby.rb +1 -12
  37. data/lib/punchblock/disconnected_error.rb +2 -0
  38. data/lib/punchblock/event/answered.rb +2 -0
  39. data/lib/punchblock/event/asterisk/ami/event.rb +3 -1
  40. data/lib/punchblock/event/asterisk/ami.rb +2 -0
  41. data/lib/punchblock/event/asterisk.rb +2 -0
  42. data/lib/punchblock/event/complete.rb +3 -1
  43. data/lib/punchblock/event/dtmf.rb +2 -0
  44. data/lib/punchblock/event/end.rb +2 -0
  45. data/lib/punchblock/event/joined.rb +2 -0
  46. data/lib/punchblock/event/offer.rb +6 -0
  47. data/lib/punchblock/event/ringing.rb +2 -0
  48. data/lib/punchblock/event/unjoined.rb +2 -0
  49. data/lib/punchblock/event.rb +2 -0
  50. data/lib/punchblock/has_headers.rb +3 -1
  51. data/lib/punchblock/header.rb +2 -0
  52. data/lib/punchblock/key_value_pair_node.rb +2 -0
  53. data/lib/punchblock/media_container.rb +2 -0
  54. data/lib/punchblock/media_node.rb +2 -0
  55. data/lib/punchblock/protocol_error.rb +2 -0
  56. data/lib/punchblock/rayo_node.rb +4 -3
  57. data/lib/punchblock/ref.rb +2 -0
  58. data/lib/punchblock/translator/asterisk/call.rb +80 -26
  59. data/lib/punchblock/translator/asterisk/component/asterisk/agi_command.rb +3 -1
  60. data/lib/punchblock/translator/asterisk/component/asterisk/ami_action.rb +3 -1
  61. data/lib/punchblock/translator/asterisk/component/asterisk.rb +2 -0
  62. data/lib/punchblock/translator/asterisk/component/input.rb +4 -2
  63. data/lib/punchblock/translator/asterisk/component/output.rb +21 -3
  64. data/lib/punchblock/translator/asterisk/component.rb +2 -0
  65. data/lib/punchblock/translator/asterisk.rb +50 -20
  66. data/lib/punchblock/translator.rb +2 -0
  67. data/lib/punchblock/version.rb +3 -1
  68. data/lib/punchblock.rb +2 -0
  69. data/punchblock.gemspec +2 -2
  70. data/spec/capture_warnings.rb +32 -0
  71. data/spec/punchblock/client/component_registry_spec.rb +2 -0
  72. data/spec/punchblock/client_spec.rb +3 -1
  73. data/spec/punchblock/command/accept_spec.rb +3 -1
  74. data/spec/punchblock/command/answer_spec.rb +3 -1
  75. data/spec/punchblock/command/dial_spec.rb +12 -10
  76. data/spec/punchblock/command/hangup_spec.rb +3 -1
  77. data/spec/punchblock/command/join_spec.rb +11 -9
  78. data/spec/punchblock/command/mute_spec.rb +3 -1
  79. data/spec/punchblock/command/redirect_spec.rb +5 -3
  80. data/spec/punchblock/command/reject_spec.rb +7 -5
  81. data/spec/punchblock/command/unjoin_spec.rb +7 -5
  82. data/spec/punchblock/command/unmute_spec.rb +3 -1
  83. data/spec/punchblock/command_node_spec.rb +9 -7
  84. data/spec/punchblock/component/asterisk/agi/command_spec.rb +21 -19
  85. data/spec/punchblock/component/asterisk/ami/action_spec.rb +19 -17
  86. data/spec/punchblock/component/component_node_spec.rb +5 -3
  87. data/spec/punchblock/component/input_spec.rb +51 -49
  88. data/spec/punchblock/component/output_spec.rb +60 -58
  89. data/spec/punchblock/component/record_spec.rb +36 -34
  90. data/spec/punchblock/connection/asterisk_spec.rb +9 -4
  91. data/spec/punchblock/connection/xmpp_spec.rb +40 -39
  92. data/spec/punchblock/event/answered_spec.rb +4 -2
  93. data/spec/punchblock/event/asterisk/ami/event_spec.rb +9 -7
  94. data/spec/punchblock/event/complete_spec.rb +12 -10
  95. data/spec/punchblock/event/dtmf_spec.rb +6 -4
  96. data/spec/punchblock/event/end_spec.rb +6 -4
  97. data/spec/punchblock/event/joined_spec.rb +8 -6
  98. data/spec/punchblock/event/offer_spec.rb +7 -5
  99. data/spec/punchblock/event/ringing_spec.rb +4 -2
  100. data/spec/punchblock/event/unjoined_spec.rb +8 -6
  101. data/spec/punchblock/header_spec.rb +13 -11
  102. data/spec/punchblock/protocol_error_spec.rb +8 -6
  103. data/spec/punchblock/ref_spec.rb +5 -3
  104. data/spec/punchblock/translator/asterisk/call_spec.rb +261 -14
  105. data/spec/punchblock/translator/asterisk/component/asterisk/agi_command_spec.rb +13 -11
  106. data/spec/punchblock/translator/asterisk/component/asterisk/ami_action_spec.rb +4 -2
  107. data/spec/punchblock/translator/asterisk/component/input_spec.rb +10 -8
  108. data/spec/punchblock/translator/asterisk/component/output_spec.rb +111 -20
  109. data/spec/punchblock/translator/asterisk/component_spec.rb +3 -1
  110. data/spec/punchblock/translator/asterisk_spec.rb +107 -10
  111. data/spec/spec_helper.rb +23 -17
  112. data/spec/support/mock_connection_with_event_handler.rb +2 -0
  113. metadata +43 -41
@@ -1,10 +1,12 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  module Punchblock
4
6
  module Component
5
7
  describe Input do
6
8
  it 'registers itself' do
7
- RayoNode.class_from_registration(:input, 'urn:xmpp:rayo:input:1').should == Input
9
+ RayoNode.class_from_registration(:input, 'urn:xmpp:rayo:input:1').should be == Input
8
10
  end
9
11
 
10
12
  describe "when setting options in initializer" do
@@ -24,19 +26,19 @@ module Punchblock
24
26
  :min_confidence => 0.5
25
27
  end
26
28
 
27
- its(:grammar) { should == Input::Grammar.new(:value => '[5 DIGITS]', :content_type => 'application/grammar+custom') }
28
- its(:mode) { should == :speech }
29
- its(:terminator) { should == '#' }
30
- its(:max_digits) { should == 10 }
31
- its(:max_silence) { should == 1000 }
32
- its(:recognizer) { should == 'en-US' }
33
- its(:initial_timeout) { should == 2000 }
34
- its(:inter_digit_timeout) { should == 2000 }
35
- its(:term_timeout) { should == 2000 }
36
- its(:complete_timeout) { should == 2000 }
37
- its(:incomplete_timeout) { should == 2000 }
38
- its(:sensitivity) { should == 0.5 }
39
- its(:min_confidence) { should == 0.5 }
29
+ its(:grammar) { should be == Input::Grammar.new(:value => '[5 DIGITS]', :content_type => 'application/grammar+custom') }
30
+ its(:mode) { should be == :speech }
31
+ its(:terminator) { should be == '#' }
32
+ its(:max_digits) { should be == 10 }
33
+ its(:max_silence) { should be == 1000 }
34
+ its(:recognizer) { should be == 'en-US' }
35
+ its(:initial_timeout) { should be == 2000 }
36
+ its(:inter_digit_timeout) { should be == 2000 }
37
+ its(:term_timeout) { should be == 2000 }
38
+ its(:complete_timeout) { should be == 2000 }
39
+ its(:incomplete_timeout) { should be == 2000 }
40
+ its(:sensitivity) { should be == 0.5 }
41
+ its(:min_confidence) { should be == 0.5 }
40
42
  end
41
43
 
42
44
  describe "from a stanza" do
@@ -66,19 +68,19 @@ module Punchblock
66
68
 
67
69
  it { should be_instance_of Input }
68
70
 
69
- its(:grammar) { should == Input::Grammar.new(:value => '[5 DIGITS]', :content_type => 'application/grammar+custom') }
70
- its(:mode) { should == :speech }
71
- its(:terminator) { should == '#' }
72
- its(:max_digits) { should == 10 }
73
- its(:max_silence) { should == 1000 }
74
- its(:recognizer) { should == 'en-US' }
75
- its(:initial_timeout) { should == 2000 }
76
- its(:inter_digit_timeout) { should == 2000 }
77
- its(:term_timeout) { should == 2000 }
78
- its(:complete_timeout) { should == 2000 }
79
- its(:incomplete_timeout) { should == 2000 }
80
- its(:sensitivity) { should == 0.5 }
81
- its(:min_confidence) { should == 0.5 }
71
+ its(:grammar) { should be == Input::Grammar.new(:value => '[5 DIGITS]', :content_type => 'application/grammar+custom') }
72
+ its(:mode) { should be == :speech }
73
+ its(:terminator) { should be == '#' }
74
+ its(:max_digits) { should be == 10 }
75
+ its(:max_silence) { should be == 1000 }
76
+ its(:recognizer) { should be == 'en-US' }
77
+ its(:initial_timeout) { should be == 2000 }
78
+ its(:inter_digit_timeout) { should be == 2000 }
79
+ its(:term_timeout) { should be == 2000 }
80
+ its(:complete_timeout) { should be == 2000 }
81
+ its(:incomplete_timeout) { should be == 2000 }
82
+ its(:sensitivity) { should be == 0.5 }
83
+ its(:min_confidence) { should be == 0.5 }
82
84
  end
83
85
 
84
86
  def grxml_doc(mode = :dtmf)
@@ -94,7 +96,7 @@ module Punchblock
94
96
  describe Input::Grammar do
95
97
  describe "when not passing a content type" do
96
98
  subject { Input::Grammar.new :value => grxml_doc }
97
- its(:content_type) { should == 'application/grammar+grxml' }
99
+ its(:content_type) { should be == 'application/grammar+grxml' }
98
100
  end
99
101
 
100
102
  describe 'with a simple grammar' do
@@ -103,31 +105,31 @@ module Punchblock
103
105
  let(:expected_message) { "<![CDATA[ [5 DIGITS] ]]>" }
104
106
 
105
107
  it "should wrap grammar in CDATA" do
106
- subject.child.to_xml.should == expected_message.strip
108
+ subject.child.to_xml.should be == expected_message.strip
107
109
  end
108
110
  end
109
111
 
110
112
  describe 'with a GRXML grammar' do
111
113
  subject { Input::Grammar.new :value => grxml_doc, :content_type => 'application/grammar+grxml' }
112
114
 
113
- its(:content_type) { should == 'application/grammar+grxml' }
115
+ its(:content_type) { should be == 'application/grammar+grxml' }
114
116
 
115
117
  let(:expected_message) { "<![CDATA[ #{grxml_doc} ]]>" }
116
118
 
117
119
  it "should wrap GRXML in CDATA" do
118
- subject.child.to_xml.should == expected_message.strip
120
+ subject.child.to_xml.should be == expected_message.strip
119
121
  end
120
122
 
121
- its(:value) { should == grxml_doc }
123
+ its(:value) { should be == grxml_doc }
122
124
 
123
125
  describe "comparison" do
124
126
  let(:grammar2) { Input::Grammar.new :value => '<grammar xmlns="http://www.w3.org/2001/06/grammar" version="1.0" xml:lang="en-US" mode="dtmf" root="digits"><rule id="digits"><one-of><item>0</item><item>1</item></one-of></rule></grammar>' }
125
127
  let(:grammar3) { Input::Grammar.new :value => grxml_doc }
126
128
  let(:grammar4) { Input::Grammar.new :value => grxml_doc(:speech) }
127
129
 
128
- it { should == grammar2 }
129
- it { should == grammar3 }
130
- it { should_not == grammar4 }
130
+ it { should be == grammar2 }
131
+ it { should be == grammar3 }
132
+ it { should_not be == grammar4 }
131
133
  end
132
134
  end
133
135
  end
@@ -145,9 +147,9 @@ module Punchblock
145
147
  describe '#stop_action' do
146
148
  subject { command.stop_action }
147
149
 
148
- its(:to_xml) { should == '<stop xmlns="urn:xmpp:rayo:1"/>' }
149
- its(:component_id) { should == 'abc123' }
150
- its(:call_id) { should == '123abc' }
150
+ its(:to_xml) { should be == '<stop xmlns="urn:xmpp:rayo:1"/>' }
151
+ its(:component_id) { should be == 'abc123' }
152
+ its(:call_id) { should be == '123abc' }
151
153
  end
152
154
 
153
155
  describe '#stop!' do
@@ -187,11 +189,11 @@ module Punchblock
187
189
 
188
190
  it { should be_instance_of Input::Complete::Success }
189
191
 
190
- its(:name) { should == :success }
191
- its(:mode) { should == :speech }
192
- its(:confidence) { should == 0.45 }
193
- its(:interpretation) { should == '1234' }
194
- its(:utterance) { should == 'one two three four' }
192
+ its(:name) { should be == :success }
193
+ its(:mode) { should be == :speech }
194
+ its(:confidence) { should be == 0.45 }
195
+ its(:interpretation) { should be == '1234' }
196
+ its(:utterance) { should be == 'one two three four' }
195
197
 
196
198
  describe "when setting options in initializer" do
197
199
  subject do
@@ -202,10 +204,10 @@ module Punchblock
202
204
  end
203
205
 
204
206
 
205
- its(:mode) { should == :dtmf }
206
- its(:confidence) { should == 1 }
207
- its(:utterance) { should == '123' }
208
- its(:interpretation) { should == 'dtmf-1 dtmf-2 dtmf-3' }
207
+ its(:mode) { should be == :dtmf }
208
+ its(:confidence) { should be == 1 }
209
+ its(:utterance) { should be == '123' }
210
+ its(:interpretation) { should be == 'dtmf-1 dtmf-2 dtmf-3' }
209
211
  end
210
212
  end
211
213
 
@@ -222,7 +224,7 @@ module Punchblock
222
224
 
223
225
  it { should be_instance_of Input::Complete::NoMatch }
224
226
 
225
- its(:name) { should == :nomatch }
227
+ its(:name) { should be == :nomatch }
226
228
  end
227
229
 
228
230
  describe Input::Complete::NoInput do
@@ -238,7 +240,7 @@ module Punchblock
238
240
 
239
241
  it { should be_instance_of Input::Complete::NoInput }
240
242
 
241
- its(:name) { should == :noinput }
243
+ its(:name) { should be == :noinput }
242
244
  end
243
245
  end
244
246
  end
@@ -1,10 +1,12 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  module Punchblock
4
6
  module Component
5
7
  describe Output do
6
8
  it 'registers itself' do
7
- RayoNode.class_from_registration(:output, 'urn:xmpp:rayo:output:1').should == Output
9
+ RayoNode.class_from_registration(:output, 'urn:xmpp:rayo:output:1').should be == Output
8
10
  end
9
11
 
10
12
  describe 'default values' do
@@ -28,13 +30,13 @@ module Punchblock
28
30
  :voice => 'allison'
29
31
  end
30
32
 
31
- its(:interrupt_on) { should == :speech }
32
- its(:start_offset) { should == 2000 }
33
- its(:start_paused) { should == false }
34
- its(:repeat_interval) { should == 2000 }
35
- its(:repeat_times) { should == 10 }
36
- its(:max_time) { should == 30000 }
37
- its(:voice) { should == 'allison' }
33
+ its(:interrupt_on) { should be == :speech }
34
+ its(:start_offset) { should be == 2000 }
35
+ its(:start_paused) { should be == false }
36
+ its(:repeat_interval) { should be == 2000 }
37
+ its(:repeat_times) { should be == 10 }
38
+ its(:max_time) { should be == 30000 }
39
+ its(:voice) { should be == 'allison' }
38
40
  end
39
41
 
40
42
  describe "from a stanza" do
@@ -55,21 +57,21 @@ module Punchblock
55
57
 
56
58
  it { should be_instance_of Output }
57
59
 
58
- its(:interrupt_on) { should == :speech }
59
- its(:start_offset) { should == 2000 }
60
- its(:start_paused) { should == false }
61
- its(:repeat_interval) { should == 2000 }
62
- its(:repeat_times) { should == 10 }
63
- its(:max_time) { should == 30000 }
64
- its(:voice) { should == 'allison' }
65
- its(:text) { should == 'Hello world' }
60
+ its(:interrupt_on) { should be == :speech }
61
+ its(:start_offset) { should be == 2000 }
62
+ its(:start_paused) { should be == false }
63
+ its(:repeat_interval) { should be == 2000 }
64
+ its(:repeat_times) { should be == 10 }
65
+ its(:max_time) { should be == 30000 }
66
+ its(:voice) { should be == 'allison' }
67
+ its(:text) { should be == 'Hello world' }
66
68
  end
67
69
 
68
70
  describe "for text" do
69
71
  subject { Output.new :text => 'Once upon a time there was a message...', :voice => 'kate' }
70
72
 
71
- its(:voice) { should == 'kate' }
72
- its(:text) { should == 'Once upon a time there was a message...' }
73
+ its(:voice) { should be == 'kate' }
74
+ its(:text) { should be == 'Once upon a time there was a message...' }
73
75
  end
74
76
 
75
77
  describe "for SSML" do
@@ -81,18 +83,18 @@ module Punchblock
81
83
 
82
84
  subject { Output.new :ssml => ssml_doc, :voice => 'kate' }
83
85
 
84
- its(:voice) { should == 'kate' }
86
+ its(:voice) { should be == 'kate' }
85
87
 
86
- its(:ssml) { should == ssml_doc }
88
+ its(:ssml) { should be == ssml_doc }
87
89
 
88
90
  describe "comparison" do
89
91
  let(:output2) { Output.new :ssml => '<speak xmlns="http://www.w3.org/2001/10/synthesis" version="1.0" xml:lang="en-US"><say-as interpret-as="ordinal"/></speak>', :voice => 'kate' }
90
92
  let(:output3) { Output.new :ssml => ssml_doc, :voice => 'kate' }
91
93
  let(:output4) { Output.new :ssml => ssml_doc(:normal), :voice => 'kate' }
92
94
 
93
- it { should == output2 }
94
- it { should == output3 }
95
- it { should_not == output4 }
95
+ it { should be == output2 }
96
+ it { should be == output3 }
97
+ it { should_not be == output4 }
96
98
  end
97
99
  end
98
100
 
@@ -109,9 +111,9 @@ module Punchblock
109
111
  describe '#pause_action' do
110
112
  subject { command.pause_action }
111
113
 
112
- its(:to_xml) { should == '<pause xmlns="urn:xmpp:rayo:output:1"/>' }
113
- its(:component_id) { should == 'abc123' }
114
- its(:call_id) { should == '123abc' }
114
+ its(:to_xml) { should be == '<pause xmlns="urn:xmpp:rayo:output:1"/>' }
115
+ its(:component_id) { should be == 'abc123' }
116
+ its(:call_id) { should be == '123abc' }
115
117
  end
116
118
 
117
119
  describe '#pause!' do
@@ -142,7 +144,7 @@ module Punchblock
142
144
  subject.paused!
143
145
  end
144
146
 
145
- its(:state_name) { should == :paused }
147
+ its(:state_name) { should be == :paused }
146
148
 
147
149
  it "should raise a StateMachine::InvalidTransition when received a second time" do
148
150
  lambda { subject.paused! }.should raise_error(StateMachine::InvalidTransition)
@@ -152,9 +154,9 @@ module Punchblock
152
154
  describe '#resume_action' do
153
155
  subject { command.resume_action }
154
156
 
155
- its(:to_xml) { should == '<resume xmlns="urn:xmpp:rayo:output:1"/>' }
156
- its(:component_id) { should == 'abc123' }
157
- its(:call_id) { should == '123abc' }
157
+ its(:to_xml) { should be == '<resume xmlns="urn:xmpp:rayo:output:1"/>' }
158
+ its(:component_id) { should be == 'abc123' }
159
+ its(:call_id) { should be == '123abc' }
158
160
  end
159
161
 
160
162
  describe '#resume!' do
@@ -187,7 +189,7 @@ module Punchblock
187
189
  subject.resumed!
188
190
  end
189
191
 
190
- its(:state_name) { should == :executing }
192
+ its(:state_name) { should be == :executing }
191
193
 
192
194
  it "should raise a StateMachine::InvalidTransition when received a second time" do
193
195
  lambda { subject.resumed! }.should raise_error(StateMachine::InvalidTransition)
@@ -197,9 +199,9 @@ module Punchblock
197
199
  describe '#stop_action' do
198
200
  subject { command.stop_action }
199
201
 
200
- its(:to_xml) { should == '<stop xmlns="urn:xmpp:rayo:1"/>' }
201
- its(:component_id) { should == 'abc123' }
202
- its(:call_id) { should == '123abc' }
202
+ its(:to_xml) { should be == '<stop xmlns="urn:xmpp:rayo:1"/>' }
203
+ its(:component_id) { should be == 'abc123' }
204
+ its(:call_id) { should be == '123abc' }
203
205
  end
204
206
 
205
207
  describe '#stop!' do
@@ -228,9 +230,9 @@ module Punchblock
228
230
  describe '#seek_action' do
229
231
  subject { command.seek_action seek_options }
230
232
 
231
- its(:to_xml) { should == '<seek xmlns="urn:xmpp:rayo:output:1" direction="forward" amount="1500"/>' }
232
- its(:component_id) { should == 'abc123' }
233
- its(:call_id) { should == '123abc' }
233
+ its(:to_xml) { should be == '<seek xmlns="urn:xmpp:rayo:output:1" direction="forward" amount="1500"/>' }
234
+ its(:component_id) { should be == 'abc123' }
235
+ its(:call_id) { should be == '123abc' }
234
236
  end
235
237
 
236
238
  describe '#seek!' do
@@ -268,7 +270,7 @@ module Punchblock
268
270
  subject.seeking!
269
271
  end
270
272
 
271
- its(:seek_status_name) { should == :seeking }
273
+ its(:seek_status_name) { should be == :seeking }
272
274
 
273
275
  it "should raise a StateMachine::InvalidTransition when received a second time" do
274
276
  lambda { subject.seeking! }.should raise_error(StateMachine::InvalidTransition)
@@ -283,7 +285,7 @@ module Punchblock
283
285
  subject.stopped_seeking!
284
286
  end
285
287
 
286
- its(:seek_status_name) { should == :not_seeking }
288
+ its(:seek_status_name) { should be == :not_seeking }
287
289
 
288
290
  it "should raise a StateMachine::InvalidTransition when received a second time" do
289
291
  lambda { subject.stopped_seeking! }.should raise_error(StateMachine::InvalidTransition)
@@ -295,9 +297,9 @@ module Punchblock
295
297
  describe '#speed_up_action' do
296
298
  subject { command.speed_up_action }
297
299
 
298
- its(:to_xml) { should == '<speed-up xmlns="urn:xmpp:rayo:output:1"/>' }
299
- its(:component_id) { should == 'abc123' }
300
- its(:call_id) { should == '123abc' }
300
+ its(:to_xml) { should be == '<speed-up xmlns="urn:xmpp:rayo:output:1"/>' }
301
+ its(:component_id) { should be == 'abc123' }
302
+ its(:call_id) { should be == '123abc' }
301
303
  end
302
304
 
303
305
  describe '#speed_up!' do
@@ -343,7 +345,7 @@ module Punchblock
343
345
  subject.speeding_up!
344
346
  end
345
347
 
346
- its(:speed_status_name) { should == :speeding_up }
348
+ its(:speed_status_name) { should be == :speeding_up }
347
349
 
348
350
  it "should raise a StateMachine::InvalidTransition when received a second time" do
349
351
  lambda { subject.speeding_up! }.should raise_error(StateMachine::InvalidTransition)
@@ -353,9 +355,9 @@ module Punchblock
353
355
  describe '#slow_down_action' do
354
356
  subject { command.slow_down_action }
355
357
 
356
- its(:to_xml) { should == '<speed-down xmlns="urn:xmpp:rayo:output:1"/>' }
357
- its(:component_id) { should == 'abc123' }
358
- its(:call_id) { should == '123abc' }
358
+ its(:to_xml) { should be == '<speed-down xmlns="urn:xmpp:rayo:output:1"/>' }
359
+ its(:component_id) { should be == 'abc123' }
360
+ its(:call_id) { should be == '123abc' }
359
361
  end
360
362
 
361
363
  describe '#slow_down!' do
@@ -401,7 +403,7 @@ module Punchblock
401
403
  subject.slowing_down!
402
404
  end
403
405
 
404
- its(:speed_status_name) { should == :slowing_down }
406
+ its(:speed_status_name) { should be == :slowing_down }
405
407
 
406
408
  it "should raise a StateMachine::InvalidTransition when received a second time" do
407
409
  lambda { subject.slowing_down! }.should raise_error(StateMachine::InvalidTransition)
@@ -416,7 +418,7 @@ module Punchblock
416
418
  subject.stopped_speeding!
417
419
  end
418
420
 
419
- its(:speed_status_name) { should == :not_speeding }
421
+ its(:speed_status_name) { should be == :not_speeding }
420
422
 
421
423
  it "should raise a StateMachine::InvalidTransition when received a second time" do
422
424
  lambda { subject.stopped_speeding! }.should raise_error(StateMachine::InvalidTransition)
@@ -428,9 +430,9 @@ module Punchblock
428
430
  describe '#volume_up_action' do
429
431
  subject { command.volume_up_action }
430
432
 
431
- its(:to_xml) { should == '<volume-up xmlns="urn:xmpp:rayo:output:1"/>' }
432
- its(:component_id) { should == 'abc123' }
433
- its(:call_id) { should == '123abc' }
433
+ its(:to_xml) { should be == '<volume-up xmlns="urn:xmpp:rayo:output:1"/>' }
434
+ its(:component_id) { should be == 'abc123' }
435
+ its(:call_id) { should be == '123abc' }
434
436
  end
435
437
 
436
438
  describe '#volume_up!' do
@@ -476,7 +478,7 @@ module Punchblock
476
478
  subject.voluming_up!
477
479
  end
478
480
 
479
- its(:volume_status_name) { should == :voluming_up }
481
+ its(:volume_status_name) { should be == :voluming_up }
480
482
 
481
483
  it "should raise a StateMachine::InvalidTransition when received a second time" do
482
484
  lambda { subject.voluming_up! }.should raise_error(StateMachine::InvalidTransition)
@@ -486,9 +488,9 @@ module Punchblock
486
488
  describe '#volume_down_action' do
487
489
  subject { command.volume_down_action }
488
490
 
489
- its(:to_xml) { should == '<volume-down xmlns="urn:xmpp:rayo:output:1"/>' }
490
- its(:component_id) { should == 'abc123' }
491
- its(:call_id) { should == '123abc' }
491
+ its(:to_xml) { should be == '<volume-down xmlns="urn:xmpp:rayo:output:1"/>' }
492
+ its(:component_id) { should be == 'abc123' }
493
+ its(:call_id) { should be == '123abc' }
492
494
  end
493
495
 
494
496
  describe '#volume_down!' do
@@ -534,7 +536,7 @@ module Punchblock
534
536
  subject.voluming_down!
535
537
  end
536
538
 
537
- its(:volume_status_name) { should == :voluming_down }
539
+ its(:volume_status_name) { should be == :voluming_down }
538
540
 
539
541
  it "should raise a StateMachine::InvalidTransition when received a second time" do
540
542
  lambda { subject.voluming_down! }.should raise_error(StateMachine::InvalidTransition)
@@ -549,7 +551,7 @@ module Punchblock
549
551
  subject.stopped_voluming!
550
552
  end
551
553
 
552
- its(:volume_status_name) { should == :not_voluming }
554
+ its(:volume_status_name) { should be == :not_voluming }
553
555
 
554
556
  it "should raise a StateMachine::InvalidTransition when received a second time" do
555
557
  lambda { subject.stopped_voluming! }.should raise_error(StateMachine::InvalidTransition)
@@ -572,7 +574,7 @@ module Punchblock
572
574
 
573
575
  it { should be_instance_of Output::Complete::Success }
574
576
 
575
- its(:name) { should == :success }
577
+ its(:name) { should be == :success }
576
578
  end
577
579
  end
578
580
  end # Punchblock
@@ -1,10 +1,12 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  module Punchblock
4
6
  module Component
5
7
  describe Record do
6
8
  it 'registers itself' do
7
- RayoNode.class_from_registration(:record, 'urn:xmpp:rayo:record:1').should == Record
9
+ RayoNode.class_from_registration(:record, 'urn:xmpp:rayo:record:1').should be == Record
8
10
  end
9
11
 
10
12
  describe "when setting options in initializer" do
@@ -18,13 +20,13 @@ module Punchblock
18
20
  :final_timeout => 30000
19
21
  end
20
22
 
21
- its(:format) { should == 'WAV' }
22
- its(:start_beep) { should == true }
23
- its(:start_paused) { should == false }
24
- its(:stop_beep) { should == true }
25
- its(:max_duration) { should == 500000 }
26
- its(:initial_timeout) { should == 10000 }
27
- its(:final_timeout) { should == 30000 }
23
+ its(:format) { should be == 'WAV' }
24
+ its(:start_beep) { should be == true }
25
+ its(:start_paused) { should be == false }
26
+ its(:stop_beep) { should be == true }
27
+ its(:max_duration) { should be == 500000 }
28
+ its(:initial_timeout) { should be == 10000 }
29
+ its(:final_timeout) { should be == 30000 }
28
30
  end
29
31
 
30
32
  describe "from a stanza" do
@@ -45,13 +47,13 @@ module Punchblock
45
47
 
46
48
  it { should be_instance_of Record }
47
49
 
48
- its(:format) { should == 'WAV' }
49
- its(:start_beep) { should == true }
50
- its(:start_paused) { should == false }
51
- its(:stop_beep) { should == true }
52
- its(:max_duration) { should == 500000 }
53
- its(:initial_timeout) { should == 10000 }
54
- its(:final_timeout) { should == 30000 }
50
+ its(:format) { should be == 'WAV' }
51
+ its(:start_beep) { should be == true }
52
+ its(:start_paused) { should be == false }
53
+ its(:stop_beep) { should be == true }
54
+ its(:max_duration) { should be == 500000 }
55
+ its(:initial_timeout) { should be == 10000 }
56
+ its(:final_timeout) { should be == 30000 }
55
57
  end
56
58
 
57
59
  describe "actions" do
@@ -67,9 +69,9 @@ module Punchblock
67
69
  describe '#pause_action' do
68
70
  subject { command.pause_action }
69
71
 
70
- its(:to_xml) { should == '<pause xmlns="urn:xmpp:rayo:record:1"/>' }
71
- its(:component_id) { should == 'abc123' }
72
- its(:call_id) { should == '123abc' }
72
+ its(:to_xml) { should be == '<pause xmlns="urn:xmpp:rayo:record:1"/>' }
73
+ its(:component_id) { should be == 'abc123' }
74
+ its(:call_id) { should be == '123abc' }
73
75
  end
74
76
 
75
77
  describe '#pause!' do
@@ -100,7 +102,7 @@ module Punchblock
100
102
  subject.paused!
101
103
  end
102
104
 
103
- its(:state_name) { should == :paused }
105
+ its(:state_name) { should be == :paused }
104
106
 
105
107
  it "should raise a StateMachine::InvalidTransition when received a second time" do
106
108
  lambda { subject.paused! }.should raise_error(StateMachine::InvalidTransition)
@@ -110,9 +112,9 @@ module Punchblock
110
112
  describe '#resume_action' do
111
113
  subject { command.resume_action }
112
114
 
113
- its(:to_xml) { should == '<resume xmlns="urn:xmpp:rayo:record:1"/>' }
114
- its(:component_id) { should == 'abc123' }
115
- its(:call_id) { should == '123abc' }
115
+ its(:to_xml) { should be == '<resume xmlns="urn:xmpp:rayo:record:1"/>' }
116
+ its(:component_id) { should be == 'abc123' }
117
+ its(:call_id) { should be == '123abc' }
116
118
  end
117
119
 
118
120
  describe '#resume!' do
@@ -145,7 +147,7 @@ module Punchblock
145
147
  subject.resumed!
146
148
  end
147
149
 
148
- its(:state_name) { should == :executing }
150
+ its(:state_name) { should be == :executing }
149
151
 
150
152
  it "should raise a StateMachine::InvalidTransition when received a second time" do
151
153
  lambda { subject.resumed! }.should raise_error(StateMachine::InvalidTransition)
@@ -155,9 +157,9 @@ module Punchblock
155
157
  describe '#stop_action' do
156
158
  subject { command.stop_action }
157
159
 
158
- its(:to_xml) { should == '<stop xmlns="urn:xmpp:rayo:1"/>' }
159
- its(:component_id) { should == 'abc123' }
160
- its(:call_id) { should == '123abc' }
160
+ its(:to_xml) { should be == '<stop xmlns="urn:xmpp:rayo:1"/>' }
161
+ its(:component_id) { should be == 'abc123' }
162
+ its(:call_id) { should be == '123abc' }
161
163
  end
162
164
 
163
165
  describe '#stop!' do
@@ -196,16 +198,16 @@ module Punchblock
196
198
 
197
199
  it { should be_instance_of Record::Complete::Success }
198
200
 
199
- its(:name) { should == :success }
201
+ its(:name) { should be == :success }
200
202
  end
201
203
 
202
204
  describe "#recording" do
203
205
  subject { RayoNode.import(parse_stanza(stanza).root).recording }
204
206
 
205
207
  it { should be_instance_of Record::Recording }
206
- its(:uri) { should == "file:/tmp/rayo7451601434771683422.mp3" }
207
- its(:duration) { should == 34000 }
208
- its(:size) { should == 23450 }
208
+ its(:uri) { should be == "file:/tmp/rayo7451601434771683422.mp3" }
209
+ its(:duration) { should be == 34000 }
210
+ its(:size) { should be == 23450 }
209
211
  end
210
212
  end
211
213
 
@@ -224,14 +226,14 @@ module Punchblock
224
226
 
225
227
  it { should be_instance_of Event::Complete::Stop }
226
228
 
227
- its(:name) { should == :stop }
229
+ its(:name) { should be == :stop }
228
230
  end
229
231
 
230
232
  describe "#recording" do
231
233
  subject { RayoNode.import(parse_stanza(stanza).root).recording }
232
234
 
233
235
  it { should be_instance_of Record::Recording }
234
- its(:uri) { should == "file:/tmp/rayo7451601434771683422.mp3" }
236
+ its(:uri) { should be == "file:/tmp/rayo7451601434771683422.mp3" }
235
237
  end
236
238
  end
237
239
 
@@ -250,14 +252,14 @@ module Punchblock
250
252
 
251
253
  it { should be_instance_of Event::Complete::Hangup }
252
254
 
253
- its(:name) { should == :hangup }
255
+ its(:name) { should be == :hangup }
254
256
  end
255
257
 
256
258
  describe "#recording" do
257
259
  subject { RayoNode.import(parse_stanza(stanza).root).recording }
258
260
 
259
261
  it { should be_instance_of Record::Recording }
260
- its(:uri) { should == "file:/tmp/rayo7451601434771683422.mp3" }
262
+ its(:uri) { should be == "file:/tmp/rayo7451601434771683422.mp3" }
261
263
  end
262
264
  end
263
265
  end