t 2.5.0 → 2.6.0

Sign up to get free protection for your applications and to get access to all the features.
data/spec/delete_spec.rb CHANGED
@@ -21,7 +21,7 @@ describe T::Delete do
21
21
  describe '#block' do
22
22
  before do
23
23
  @delete.options = @delete.options.merge('profile' => fixture_path + '/.trc')
24
- stub_post('/1.1/blocks/destroy.json').with(:body => {:screen_name => 'sferik'}).to_return(:body => fixture('sferik.json'))
24
+ stub_post('/1.1/blocks/destroy.json').with(:body => {:screen_name => 'sferik'}).to_return(:body => fixture('sferik.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
25
25
  end
26
26
  it 'requests the correct resource' do
27
27
  @delete.block('sferik')
@@ -34,7 +34,7 @@ describe T::Delete do
34
34
  context '--id' do
35
35
  before do
36
36
  @delete.options = @delete.options.merge('id' => true)
37
- stub_post('/1.1/blocks/destroy.json').with(:body => {:user_id => '7505382'}).to_return(:body => fixture('sferik.json'))
37
+ stub_post('/1.1/blocks/destroy.json').with(:body => {:user_id => '7505382'}).to_return(:body => fixture('sferik.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
38
38
  end
39
39
  it 'requests the correct resource' do
40
40
  @delete.block('7505382')
@@ -46,28 +46,25 @@ describe T::Delete do
46
46
  describe '#dm' do
47
47
  before do
48
48
  @delete.options = @delete.options.merge('profile' => fixture_path + '/.trc')
49
- stub_get('/1.1/direct_messages/show.json').with(:query => {:id => '1773478249'}).to_return(:body => fixture('direct_message.json'))
50
- stub_post('/1.1/direct_messages/destroy.json').with(:body => {:id => '1773478249'}).to_return(:body => fixture('direct_message.json'))
49
+ stub_get('/1.1/direct_messages/show.json').with(:query => {:id => '1773478249'}).to_return(:body => fixture('direct_message.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
50
+ stub_post('/1.1/direct_messages/destroy.json').with(:body => {:id => '1773478249'}).to_return(:body => fixture('direct_message.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
51
51
  end
52
52
  it 'requests the correct resource' do
53
- expect($stdout).to receive(:print).with("Are you sure you want to permanently delete the direct message to @pengwynn: \"Creating a fixture for the Twitter gem\"? [y/N] ")
54
- expect($stdin).to receive(:gets).and_return('yes')
53
+ expect(Readline).to receive(:readline).with("Are you sure you want to permanently delete the direct message to @pengwynn: \"Creating a fixture for the Twitter gem\"? [y/N] ", false).and_return('yes')
55
54
  @delete.dm('1773478249')
56
55
  expect(a_get('/1.1/direct_messages/show.json').with(:query => {:id => '1773478249'})).to have_been_made
57
56
  expect(a_post('/1.1/direct_messages/destroy.json').with(:body => {:id => '1773478249'})).to have_been_made
58
57
  end
59
58
  context 'yes' do
60
59
  it 'has the correct output' do
61
- expect($stdout).to receive(:print).with("Are you sure you want to permanently delete the direct message to @pengwynn: \"Creating a fixture for the Twitter gem\"? [y/N] ")
62
- expect($stdin).to receive(:gets).and_return('yes')
60
+ expect(Readline).to receive(:readline).with("Are you sure you want to permanently delete the direct message to @pengwynn: \"Creating a fixture for the Twitter gem\"? [y/N] ", false).and_return('yes')
63
61
  @delete.dm('1773478249')
64
62
  expect($stdout.string.chomp).to eq "@testcli deleted the direct message sent to @pengwynn: \"Creating a fixture for the Twitter gem\""
65
63
  end
66
64
  end
67
65
  context 'no' do
68
66
  it 'has the correct output' do
69
- expect($stdout).to receive(:print).with("Are you sure you want to permanently delete the direct message to @pengwynn: \"Creating a fixture for the Twitter gem\"? [y/N] ")
70
- expect($stdin).to receive(:gets).and_return('no')
67
+ expect(Readline).to receive(:readline).with("Are you sure you want to permanently delete the direct message to @pengwynn: \"Creating a fixture for the Twitter gem\"? [y/N] ", false).and_return('no')
71
68
  @delete.dm('1773478249')
72
69
  expect($stdout.string.chomp).to be_empty
73
70
  end
@@ -90,28 +87,25 @@ describe T::Delete do
90
87
  describe '#favorite' do
91
88
  before do
92
89
  @delete.options = @delete.options.merge('profile' => fixture_path + '/.trc')
93
- stub_get('/1.1/statuses/show/28439861609.json').with(:query => {:include_my_retweet => 'false'}).to_return(:body => fixture('status.json'))
94
- stub_post('/1.1/favorites/destroy.json').with(:body => {:id => '28439861609'}).to_return(:body => fixture('status.json'))
90
+ stub_get('/1.1/statuses/show/28439861609.json').with(:query => {:include_my_retweet => 'false'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
91
+ stub_post('/1.1/favorites/destroy.json').with(:body => {:id => '28439861609'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
95
92
  end
96
93
  it 'requests the correct resource' do
97
- expect($stdout).to receive(:print).with("Are you sure you want to remove @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\" from your favorites? [y/N] ")
98
- expect($stdin).to receive(:gets).and_return('yes')
94
+ expect(Readline).to receive(:readline).with("Are you sure you want to remove @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\" from your favorites? [y/N] ", false).and_return('yes')
99
95
  @delete.favorite('28439861609')
100
96
  expect(a_get('/1.1/statuses/show/28439861609.json').with(:query => {:include_my_retweet => 'false'})).to have_been_made
101
97
  expect(a_post('/1.1/favorites/destroy.json').with(:body => {:id => '28439861609'})).to have_been_made
102
98
  end
103
99
  context 'yes' do
104
100
  it 'has the correct output' do
105
- expect($stdout).to receive(:print).with("Are you sure you want to remove @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\" from your favorites? [y/N] ")
106
- expect($stdin).to receive(:gets).and_return('yes')
101
+ expect(Readline).to receive(:readline).with("Are you sure you want to remove @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\" from your favorites? [y/N] ", false).and_return('yes')
107
102
  @delete.favorite('28439861609')
108
103
  expect($stdout.string).to match(/^@testcli unfavorited @sferik's status: "The problem with your code is that it's doing exactly what you told it to do\."$/)
109
104
  end
110
105
  end
111
106
  context 'no' do
112
107
  it 'has the correct output' do
113
- expect($stdout).to receive(:print).with("Are you sure you want to remove @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\" from your favorites? [y/N] ")
114
- expect($stdin).to receive(:gets).and_return('no')
108
+ expect(Readline).to receive(:readline).with("Are you sure you want to remove @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\" from your favorites? [y/N] ", false).and_return('no')
115
109
  @delete.favorite('28439861609')
116
110
  expect($stdout.string.chomp).to be_empty
117
111
  end
@@ -134,29 +128,26 @@ describe T::Delete do
134
128
  describe '#list' do
135
129
  before do
136
130
  @delete.options = @delete.options.merge('profile' => fixture_path + '/.trc')
137
- stub_get('/1.1/account/verify_credentials.json').to_return(:body => fixture('sferik.json'))
138
- stub_get('/1.1/lists/show.json').with(:query => {:owner_screen_name => 'sferik', :slug => 'presidents'}).to_return(:body => fixture('list.json'))
139
- stub_post('/1.1/lists/destroy.json').with(:body => {:owner_id => '7505382', :list_id => '8863586'}).to_return(:body => fixture('list.json'))
131
+ stub_get('/1.1/account/verify_credentials.json').with(:query => {:include_entities => 'false', :skip_status => 'true'}).to_return(:body => fixture('sferik.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
132
+ stub_get('/1.1/lists/show.json').with(:query => {:owner_id => '7505382', :slug => 'presidents'}).to_return(:body => fixture('list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
133
+ stub_post('/1.1/lists/destroy.json').with(:body => {:owner_id => '7505382', :list_id => '8863586'}).to_return(:body => fixture('list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
140
134
  end
141
135
  it 'requests the correct resource' do
142
- expect($stdout).to receive(:print).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ")
143
- expect($stdin).to receive(:gets).and_return('yes')
136
+ expect(Readline).to receive(:readline).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ", false).and_return('yes')
144
137
  @delete.list('presidents')
145
- expect(a_get('/1.1/account/verify_credentials.json')).to have_been_made
138
+ expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:include_entities => 'false', :skip_status => 'true'})).to have_been_made
146
139
  expect(a_post('/1.1/lists/destroy.json').with(:body => {:owner_id => '7505382', :list_id => '8863586'})).to have_been_made
147
140
  end
148
141
  context 'yes' do
149
142
  it 'has the correct output' do
150
- expect($stdout).to receive(:print).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ")
151
- expect($stdin).to receive(:gets).and_return('yes')
143
+ expect(Readline).to receive(:readline).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ", false).and_return('yes')
152
144
  @delete.list('presidents')
153
145
  expect($stdout.string.chomp).to eq "@testcli deleted the list \"presidents\"."
154
146
  end
155
147
  end
156
148
  context 'no' do
157
149
  it 'has the correct output' do
158
- expect($stdout).to receive(:print).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ")
159
- expect($stdin).to receive(:gets).and_return('no')
150
+ expect(Readline).to receive(:readline).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ", false).and_return('no')
160
151
  @delete.list('presidents')
161
152
  expect($stdout.string.chomp).to be_empty
162
153
  end
@@ -167,7 +158,7 @@ describe T::Delete do
167
158
  end
168
159
  it 'requests the correct resource' do
169
160
  @delete.list('presidents')
170
- expect(a_get('/1.1/account/verify_credentials.json')).to have_been_made
161
+ expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:include_entities => 'false', :skip_status => 'true'})).to have_been_made
171
162
  expect(a_post('/1.1/lists/destroy.json').with(:body => {:owner_id => '7505382', :list_id => '8863586'})).to have_been_made
172
163
  end
173
164
  it 'has the correct output' do
@@ -178,44 +169,65 @@ describe T::Delete do
178
169
  context '--id' do
179
170
  before do
180
171
  @delete.options = @delete.options.merge('id' => true)
181
- stub_get('/1.1/lists/show.json').with(:query => {:owner_screen_name => 'sferik', :list_id => '8863586'}).to_return(:body => fixture('list.json'))
172
+ stub_get('/1.1/lists/show.json').with(:query => {:owner_id => '7505382', :list_id => '8863586'}).to_return(:body => fixture('list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
182
173
  end
183
174
  it 'requests the correct resource' do
184
- expect($stdout).to receive(:print).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ")
185
- expect($stdin).to receive(:gets).and_return('yes')
175
+ expect(Readline).to receive(:readline).with("Are you sure you want to permanently delete the list \"presidents\"? [y/N] ", false).and_return('yes')
186
176
  @delete.list('8863586')
187
- expect(a_get('/1.1/lists/show.json').with(:query => {:owner_screen_name => 'sferik', :list_id => '8863586'})).to have_been_made
188
- expect(a_get('/1.1/account/verify_credentials.json')).to have_been_made
177
+ expect(a_get('/1.1/lists/show.json').with(:query => {:owner_id => '7505382', :list_id => '8863586'})).to have_been_made
178
+ expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:include_entities => 'false', :skip_status => 'true'})).to have_been_made
189
179
  expect(a_post('/1.1/lists/destroy.json').with(:body => {:owner_id => '7505382', :list_id => '8863586'})).to have_been_made
190
180
  end
191
181
  end
192
182
  end
193
183
 
184
+ describe '#mute' do
185
+ before do
186
+ @delete.options = @delete.options.merge('profile' => fixture_path + '/.trc')
187
+ stub_post('/1.1/mutes/users/destroy.json').with(:body => {:screen_name => 'sferik'}).to_return(:body => fixture('sferik.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
188
+ end
189
+ it 'requests the correct resource' do
190
+ @delete.mute('sferik')
191
+ expect(a_post('/1.1/mutes/users/destroy.json').with(:body => {:screen_name => 'sferik'})).to have_been_made
192
+ end
193
+ it 'has the correct output' do
194
+ @delete.mute('sferik')
195
+ expect($stdout.string).to match(/^@testcli unmuted 1 user\.$/)
196
+ end
197
+ context '--id' do
198
+ before do
199
+ @delete.options = @delete.options.merge('id' => true)
200
+ stub_post('/1.1/mutes/users/destroy.json').with(:body => {:user_id => '7505382'}).to_return(:body => fixture('sferik.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
201
+ end
202
+ it 'requests the correct resource' do
203
+ @delete.mute('7505382')
204
+ expect(a_post('/1.1/mutes/users/destroy.json').with(:body => {:user_id => '7505382'})).to have_been_made
205
+ end
206
+ end
207
+ end
208
+
194
209
  describe '#status' do
195
210
  before do
196
211
  @delete.options = @delete.options.merge('profile' => fixture_path + '/.trc')
197
- stub_get('/1.1/statuses/show/26755176471724032.json').with(:query => {:include_my_retweet => 'false'}).to_return(:body => fixture('status.json'))
198
- stub_post('/1.1/statuses/destroy/26755176471724032.json').with(:body => {:trim_user => 'true'}).to_return(:body => fixture('status.json'))
212
+ stub_get('/1.1/statuses/show/26755176471724032.json').with(:query => {:include_my_retweet => 'false'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
213
+ stub_post('/1.1/statuses/destroy/26755176471724032.json').with(:body => {:trim_user => 'true'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
199
214
  end
200
215
  it 'requests the correct resource' do
201
- expect($stdout).to receive(:print).with("Are you sure you want to permanently delete @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\"? [y/N] ")
202
- expect($stdin).to receive(:gets).and_return('yes')
216
+ expect(Readline).to receive(:readline).with("Are you sure you want to permanently delete @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\"? [y/N] ", false).and_return('yes')
203
217
  @delete.status('26755176471724032')
204
218
  expect(a_get('/1.1/statuses/show/26755176471724032.json').with(:query => {:include_my_retweet => 'false'})).to have_been_made
205
219
  expect(a_post('/1.1/statuses/destroy/26755176471724032.json').with(:body => {:trim_user => 'true'})).to have_been_made
206
220
  end
207
221
  context 'yes' do
208
222
  it 'has the correct output' do
209
- expect($stdout).to receive(:print).with("Are you sure you want to permanently delete @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\"? [y/N] ")
210
- expect($stdin).to receive(:gets).and_return('yes')
223
+ expect(Readline).to receive(:readline).with("Are you sure you want to permanently delete @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\"? [y/N] ", false).and_return('yes')
211
224
  @delete.status('26755176471724032')
212
225
  expect($stdout.string.chomp).to eq "@testcli deleted the Tweet: \"The problem with your code is that it's doing exactly what you told it to do.\""
213
226
  end
214
227
  end
215
228
  context 'no' do
216
229
  it 'has the correct output' do
217
- expect($stdout).to receive(:print).with("Are you sure you want to permanently delete @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\"? [y/N] ")
218
- expect($stdin).to receive(:gets).and_return('no')
230
+ expect(Readline).to receive(:readline).with("Are you sure you want to permanently delete @sferik's status: \"The problem with your code is that it's doing exactly what you told it to do.\"? [y/N] ", false).and_return('no')
219
231
  @delete.status('26755176471724032')
220
232
  expect($stdout.string.chomp).to be_empty
221
233
  end
@@ -0,0 +1 @@
1
+ {"previous_cursor":0,"next_cursor_str":"1305102810874389703","ids":[20009713],"previous_cursor_str":"0","next_cursor":1305102810874389703}
@@ -0,0 +1 @@
1
+ {"previous_cursor":-1305101990888327757,"next_cursor_str":"0","ids":[14100886],"previous_cursor_str":"-1305101990888327757","next_cursor":0}
data/spec/list_spec.rb CHANGED
@@ -31,13 +31,13 @@ describe T::List do
31
31
  describe '#add' do
32
32
  before do
33
33
  @list.options = @list.options.merge('profile' => fixture_path + '/.trc')
34
- stub_get('/1.1/account/verify_credentials.json').to_return(:body => fixture('sferik.json'))
35
- stub_post('/1.1/lists/members/create_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_screen_name => 'sferik'}).to_return(:body => fixture('list.json'))
34
+ stub_get('/1.1/account/verify_credentials.json').with(:query => {:include_entities => 'false', :skip_status => 'true'}).to_return(:body => fixture('sferik.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
35
+ stub_post('/1.1/lists/members/create_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_id => '7505382'}).to_return(:body => fixture('list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
36
36
  end
37
37
  it 'requests the correct resource' do
38
38
  @list.add('presidents', 'BarackObama')
39
- expect(a_get('/1.1/account/verify_credentials.json')).to have_been_made
40
- expect(a_post('/1.1/lists/members/create_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_screen_name => 'sferik'})).to have_been_made
39
+ expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:include_entities => 'false', :skip_status => 'true'})).to have_been_made
40
+ expect(a_post('/1.1/lists/members/create_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_id => '7505382'})).to have_been_made
41
41
  end
42
42
  it 'has the correct output' do
43
43
  @list.add('presidents', 'BarackObama')
@@ -46,21 +46,21 @@ describe T::List do
46
46
  context '--id' do
47
47
  before do
48
48
  @list.options = @list.options.merge('id' => true)
49
- stub_post('/1.1/lists/members/create_all.json').with(:body => {:user_id => '7505382', :slug => 'presidents', :owner_screen_name => 'sferik'}).to_return(:body => fixture('list.json'))
49
+ stub_post('/1.1/lists/members/create_all.json').with(:body => {:user_id => '7505382', :slug => 'presidents', :owner_id => '7505382'}).to_return(:body => fixture('list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
50
50
  end
51
51
  it 'requests the correct resource' do
52
52
  @list.add('presidents', '7505382')
53
- expect(a_get('/1.1/account/verify_credentials.json')).to have_been_made
54
- expect(a_post('/1.1/lists/members/create_all.json').with(:body => {:user_id => '7505382', :slug => 'presidents', :owner_screen_name => 'sferik'})).to have_been_made
53
+ expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:include_entities => 'false', :skip_status => 'true'})).to have_been_made
54
+ expect(a_post('/1.1/lists/members/create_all.json').with(:body => {:user_id => '7505382', :slug => 'presidents', :owner_id => '7505382'})).to have_been_made
55
55
  end
56
56
  end
57
57
  context 'Twitter is down' do
58
58
  it 'retries 3 times and then raise an error' do
59
- stub_post('/1.1/lists/members/create_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_screen_name => 'sferik'}).to_return(:status => 502)
59
+ stub_post('/1.1/lists/members/create_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_id => '7505382'}).to_return(:status => 502, :headers => {:content_type => 'application/json; charset=utf-8'})
60
60
  expect do
61
61
  @list.add('presidents', 'BarackObama')
62
62
  end.to raise_error(Twitter::Error::BadGateway)
63
- expect(a_post('/1.1/lists/members/create_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_screen_name => 'sferik'})).to have_been_made.times(3)
63
+ expect(a_post('/1.1/lists/members/create_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_id => '7505382'})).to have_been_made.times(3)
64
64
  end
65
65
  end
66
66
  end
@@ -68,7 +68,7 @@ describe T::List do
68
68
  describe '#create' do
69
69
  before do
70
70
  @list.options = @list.options.merge('profile' => fixture_path + '/.trc')
71
- stub_post('/1.1/lists/create.json').with(:body => {:name => 'presidents'}).to_return(:body => fixture('list.json'))
71
+ stub_post('/1.1/lists/create.json').with(:body => {:name => 'presidents'}).to_return(:body => fixture('list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
72
72
  end
73
73
  it 'requests the correct resource' do
74
74
  @list.create('presidents')
@@ -83,7 +83,7 @@ describe T::List do
83
83
  describe '#information' do
84
84
  before do
85
85
  @list.options = @list.options.merge('profile' => fixture_path + '/.trc')
86
- stub_get('/1.1/lists/show.json').with(:query => {:owner_screen_name => 'testcli', :slug => 'presidents'}).to_return(:body => fixture('list.json'))
86
+ stub_get('/1.1/lists/show.json').with(:query => {:owner_screen_name => 'testcli', :slug => 'presidents'}).to_return(:body => fixture('list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
87
87
  end
88
88
  it 'requests the correct resource' do
89
89
  @list.information('presidents')
@@ -128,7 +128,7 @@ URL https://twitter.com/sferik/presidents
128
128
  context '--id' do
129
129
  before do
130
130
  @list.options = @list.options.merge('id' => true)
131
- stub_get('/1.1/lists/show.json').with(:query => {:owner_id => '7505382', :slug => 'presidents'}).to_return(:body => fixture('list.json'))
131
+ stub_get('/1.1/lists/show.json').with(:query => {:owner_id => '7505382', :slug => 'presidents'}).to_return(:body => fixture('list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
132
132
  end
133
133
  it 'requests the correct resource' do
134
134
  @list.information('7505382/presidents')
@@ -152,7 +152,7 @@ ID,Description,Slug,Screen name,Created at,Members,Subscribers,Following,Mode,UR
152
152
 
153
153
  describe '#members' do
154
154
  before do
155
- stub_get('/1.1/lists/members.json').with(:query => {:cursor => '-1', :owner_screen_name => 'testcli', :slug => 'presidents'}).to_return(:body => fixture('users_list.json'))
155
+ stub_get('/1.1/lists/members.json').with(:query => {:cursor => '-1', :owner_screen_name => 'testcli', :slug => 'presidents'}).to_return(:body => fixture('users_list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
156
156
  end
157
157
  it 'requests the correct resource' do
158
158
  @list.members('presidents')
@@ -277,7 +277,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
277
277
  context '--id' do
278
278
  before do
279
279
  @list.options = @list.options.merge('id' => true)
280
- stub_get('/1.1/lists/members.json').with(:query => {:cursor => '-1', :owner_id => '7505382', :slug => 'presidents'}).to_return(:body => fixture('users_list.json'))
280
+ stub_get('/1.1/lists/members.json').with(:query => {:cursor => '-1', :owner_id => '7505382', :slug => 'presidents'}).to_return(:body => fixture('users_list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
281
281
  end
282
282
  it 'requests the correct resource' do
283
283
  @list.members('7505382/presidents')
@@ -290,37 +290,37 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
290
290
  describe '#remove' do
291
291
  before do
292
292
  @list.options = @list.options.merge('profile' => fixture_path + '/.trc')
293
- stub_get('/1.1/account/verify_credentials.json').to_return(:body => fixture('sferik.json'))
293
+ stub_get('/1.1/account/verify_credentials.json').with(:query => {:include_entities => 'false', :skip_status => 'true'}).to_return(:body => fixture('sferik.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
294
294
  end
295
295
  it 'requests the correct resource' do
296
- stub_post('/1.1/lists/members/destroy_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_screen_name => 'sferik'}).to_return(:body => fixture('list.json'))
296
+ stub_post('/1.1/lists/members/destroy_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_id => '7505382'}).to_return(:body => fixture('list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
297
297
  @list.remove('presidents', 'BarackObama')
298
- expect(a_get('/1.1/account/verify_credentials.json')).to have_been_made
299
- expect(a_post('/1.1/lists/members/destroy_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_screen_name => 'sferik'})).to have_been_made
298
+ expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:include_entities => 'false', :skip_status => 'true'})).to have_been_made
299
+ expect(a_post('/1.1/lists/members/destroy_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_id => '7505382'})).to have_been_made
300
300
  end
301
301
  it 'has the correct output' do
302
- stub_post('/1.1/lists/members/destroy_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_screen_name => 'sferik'}).to_return(:body => fixture('list.json'))
302
+ stub_post('/1.1/lists/members/destroy_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_id => '7505382'}).to_return(:body => fixture('list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
303
303
  @list.remove('presidents', 'BarackObama')
304
304
  expect($stdout.string.split("\n").first).to eq "@testcli removed 1 member from the list \"presidents\"."
305
305
  end
306
306
  context '--id' do
307
307
  before do
308
308
  @list.options = @list.options.merge('id' => true)
309
- stub_post('/1.1/lists/members/destroy_all.json').with(:body => {:user_id => '7505382', :slug => 'presidents', :owner_screen_name => 'sferik'}).to_return(:body => fixture('list.json'))
309
+ stub_post('/1.1/lists/members/destroy_all.json').with(:body => {:user_id => '7505382', :slug => 'presidents', :owner_id => '7505382'}).to_return(:body => fixture('list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
310
310
  end
311
311
  it 'requests the correct resource' do
312
312
  @list.remove('presidents', '7505382')
313
- expect(a_get('/1.1/account/verify_credentials.json')).to have_been_made
314
- expect(a_post('/1.1/lists/members/destroy_all.json').with(:body => {:user_id => '7505382', :slug => 'presidents', :owner_screen_name => 'sferik'})).to have_been_made
313
+ expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:include_entities => 'false', :skip_status => 'true'})).to have_been_made
314
+ expect(a_post('/1.1/lists/members/destroy_all.json').with(:body => {:user_id => '7505382', :slug => 'presidents', :owner_id => '7505382'})).to have_been_made
315
315
  end
316
316
  end
317
317
  context 'Twitter is down' do
318
318
  it 'retries 3 times and then raise an error' do
319
- stub_post('/1.1/lists/members/destroy_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_screen_name => 'sferik'}).to_return(:status => 502)
319
+ stub_post('/1.1/lists/members/destroy_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_id => '7505382'}).to_return(:status => 502, :headers => {:content_type => 'application/json; charset=utf-8'})
320
320
  expect do
321
321
  @list.remove('presidents', 'BarackObama')
322
322
  end.to raise_error(Twitter::Error::BadGateway)
323
- expect(a_post('/1.1/lists/members/destroy_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_screen_name => 'sferik'})).to have_been_made.times(3)
323
+ expect(a_post('/1.1/lists/members/destroy_all.json').with(:body => {:screen_name => 'BarackObama', :slug => 'presidents', :owner_id => '7505382'})).to have_been_made.times(3)
324
324
  end
325
325
  end
326
326
  end
@@ -328,7 +328,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
328
328
  describe '#timeline' do
329
329
  before do
330
330
  @list.options = @list.options.merge('color' => 'always')
331
- stub_get('/1.1/lists/statuses.json').with(:query => {:owner_screen_name => 'testcli', :count => '20', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
331
+ stub_get('/1.1/lists/statuses.json').with(:query => {:owner_screen_name => 'testcli', :count => '20', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
332
332
  end
333
333
  it 'requests the correct resource' do
334
334
  @list.timeline('presidents')
@@ -700,7 +700,7 @@ ID,Posted at,Screen name,Text
700
700
  context '--decode-uris' do
701
701
  before do
702
702
  @list.options = @list.options.merge('decode_uris' => true)
703
- stub_get('/1.1/lists/statuses.json').with(:query => {:owner_screen_name => 'testcli', :count => '20', :slug => 'presidents', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'))
703
+ stub_get('/1.1/lists/statuses.json').with(:query => {:owner_screen_name => 'testcli', :count => '20', :slug => 'presidents', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
704
704
  end
705
705
  it 'requests the correct resource' do
706
706
  @list.timeline('presidents')
@@ -775,9 +775,9 @@ ID Posted at Screen name Text
775
775
  end
776
776
  context '--number' do
777
777
  before do
778
- stub_get('/1.1/lists/statuses.json').with(:query => {:owner_screen_name => 'testcli', :count => '1', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
779
- stub_get('/1.1/lists/statuses.json').with(:query => {:owner_screen_name => 'testcli', :count => '200', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('200_statuses.json'))
780
- stub_get('/1.1/lists/statuses.json').with(:query => {:owner_screen_name => 'testcli', :count => '1', :max_id => '265500541700956160', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
778
+ stub_get('/1.1/lists/statuses.json').with(:query => {:owner_screen_name => 'testcli', :count => '1', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
779
+ stub_get('/1.1/lists/statuses.json').with(:query => {:owner_screen_name => 'testcli', :count => '200', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('200_statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
780
+ stub_get('/1.1/lists/statuses.json').with(:query => {:owner_screen_name => 'testcli', :count => '1', :max_id => '265500541700956160', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
781
781
  end
782
782
  it 'limits the number of results to 1' do
783
783
  @list.options = @list.options.merge('number' => 1)
@@ -799,7 +799,7 @@ ID Posted at Screen name Text
799
799
  context '--id' do
800
800
  before do
801
801
  @list.options = @list.options.merge('id' => true)
802
- stub_get('/1.1/lists/statuses.json').with(:query => {:owner_id => '7505382', :count => '20', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
802
+ stub_get('/1.1/lists/statuses.json').with(:query => {:owner_id => '7505382', :count => '20', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
803
803
  end
804
804
  it 'requests the correct resource' do
805
805
  @list.timeline('7505382/presidents')
data/spec/search_spec.rb CHANGED
@@ -31,7 +31,7 @@ describe T::Search do
31
31
 
32
32
  describe '#all' do
33
33
  before do
34
- stub_get('/1.1/search/tweets.json').with(:query => {:q => 'twitter', :count => '100', :include_entities => 'false'}).to_return(:body => fixture('search.json'))
34
+ stub_get('/1.1/search/tweets.json').with(:query => {:q => 'twitter', :count => '100', :include_entities => 'false'}).to_return(:body => fixture('search.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
35
35
  end
36
36
  it 'requests the correct resource' do
37
37
  @search.all('twitter')
@@ -180,9 +180,9 @@ ID Posted at Screen name Text
180
180
  end
181
181
  context '--number' do
182
182
  before do
183
- stub_get('/1.1/search/tweets.json').with(:query => {:q => 'twitter', :count => '1', :include_entities => 'false'}).to_return(:body => fixture('search2.json'))
184
- stub_get('/1.1/search/tweets.json').with(:query => {:q => 'twitter', :count => '100', :include_entities => 'false'}).to_return(:body => fixture('search.json'))
185
- stub_get('/1.1/search/tweets.json').with(:query => {:q => 'twitter', :count => '100', :include_entities => '1', :max_id => '415600158693675007'}).to_return(:body => fixture('search2.json'))
183
+ stub_get('/1.1/search/tweets.json').with(:query => {:q => 'twitter', :count => '1', :include_entities => 'false'}).to_return(:body => fixture('search2.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
184
+ stub_get('/1.1/search/tweets.json').with(:query => {:q => 'twitter', :count => '100', :include_entities => 'false'}).to_return(:body => fixture('search.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
185
+ stub_get('/1.1/search/tweets.json').with(:query => {:q => 'twitter', :count => '100', :include_entities => '1', :max_id => '415600158693675007'}).to_return(:body => fixture('search2.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
186
186
  end
187
187
  it 'limits the number of results to 1' do
188
188
  @search.options = @search.options.merge('number' => 1)
@@ -200,8 +200,8 @@ ID Posted at Screen name Text
200
200
 
201
201
  describe '#favorites' do
202
202
  before do
203
- stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
204
- stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :max_id => '244099460672679937', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
203
+ stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
204
+ stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :max_id => '244099460672679937', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
205
205
  end
206
206
  it 'requests the correct resource' do
207
207
  @search.favorites('twitter')
@@ -236,8 +236,8 @@ ID,Posted at,Screen name,Text
236
236
  context '--decode-uris' do
237
237
  before(:each) do
238
238
  @search.options = @search.options.merge('decode_uris' => true)
239
- stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'))
240
- stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :include_entities => 'true', :max_id => '244099460672679937'}).to_return(:body => fixture('empty_array.json'))
239
+ stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
240
+ stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :include_entities => 'true', :max_id => '244099460672679937'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
241
241
  end
242
242
  it 'requests the correct resource' do
243
243
  @search.favorites('twitter')
@@ -264,7 +264,7 @@ ID Posted at Screen name Text
264
264
  end
265
265
  context 'Twitter is down' do
266
266
  it 'retries 3 times and then raise an error' do
267
- stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:status => 502)
267
+ stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:status => 502, :headers => {:content_type => 'application/json; charset=utf-8'})
268
268
  expect do
269
269
  @search.favorites('twitter')
270
270
  end.to raise_error(Twitter::Error::BadGateway)
@@ -273,8 +273,8 @@ ID Posted at Screen name Text
273
273
  end
274
274
  context 'with a user passed' do
275
275
  before do
276
- stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :screen_name => 'sferik', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
277
- stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :max_id => '244099460672679937', :screen_name => 'sferik', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
276
+ stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :screen_name => 'sferik', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
277
+ stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :max_id => '244099460672679937', :screen_name => 'sferik', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
278
278
  end
279
279
  it 'requests the correct resource' do
280
280
  @search.favorites('sferik', 'twitter')
@@ -296,8 +296,8 @@ ID Posted at Screen name Text
296
296
  context '--id' do
297
297
  before do
298
298
  @search.options = @search.options.merge('id' => true)
299
- stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :user_id => '7505382', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
300
- stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :max_id => '244099460672679937', :user_id => '7505382', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
299
+ stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :user_id => '7505382', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
300
+ stub_get('/1.1/favorites/list.json').with(:query => {:count => '200', :max_id => '244099460672679937', :user_id => '7505382', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
301
301
  end
302
302
  it 'requests the correct resource' do
303
303
  @search.favorites('7505382', 'twitter')
@@ -322,8 +322,8 @@ ID Posted at Screen name Text
322
322
 
323
323
  describe '#mentions' do
324
324
  before do
325
- stub_get('/1.1/statuses/mentions_timeline.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
326
- stub_get('/1.1/statuses/mentions_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
325
+ stub_get('/1.1/statuses/mentions_timeline.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
326
+ stub_get('/1.1/statuses/mentions_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
327
327
  end
328
328
  it 'requests the correct resource' do
329
329
  @search.mentions('twitter')
@@ -358,8 +358,8 @@ ID,Posted at,Screen name,Text
358
358
  context '--decode-uris' do
359
359
  before(:each) do
360
360
  @search.options = @search.options.merge('decode_uris' => true)
361
- stub_get('/1.1/statuses/mentions_timeline.json').with(:query => {:count => '200', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'))
362
- stub_get('/1.1/statuses/mentions_timeline.json').with(:query => {:count => '200', :include_entities => 'true', :max_id => '244099460672679937'}).to_return(:body => fixture('empty_array.json'))
361
+ stub_get('/1.1/statuses/mentions_timeline.json').with(:query => {:count => '200', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
362
+ stub_get('/1.1/statuses/mentions_timeline.json').with(:query => {:count => '200', :include_entities => 'true', :max_id => '244099460672679937'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
363
363
  end
364
364
  it 'requests the correct resource' do
365
365
  @search.mentions('twitter')
@@ -386,7 +386,7 @@ ID Posted at Screen name Text
386
386
  end
387
387
  context 'Twitter is down' do
388
388
  it 'retries 3 times and then raise an error' do
389
- stub_get('/1.1/statuses/mentions_timeline.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:status => 502)
389
+ stub_get('/1.1/statuses/mentions_timeline.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:status => 502, :headers => {:content_type => 'application/json; charset=utf-8'})
390
390
  expect do
391
391
  @search.mentions('twitter')
392
392
  end.to raise_error(Twitter::Error::BadGateway)
@@ -397,8 +397,8 @@ ID Posted at Screen name Text
397
397
 
398
398
  describe '#list' do
399
399
  before do
400
- stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :owner_screen_name => 'testcli', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
401
- stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :max_id => '244099460672679937', :owner_screen_name => 'testcli', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
400
+ stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :owner_screen_name => 'testcli', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
401
+ stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :max_id => '244099460672679937', :owner_screen_name => 'testcli', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
402
402
  end
403
403
  it 'requests the correct resource' do
404
404
  @search.list('presidents', 'twitter')
@@ -433,8 +433,8 @@ ID,Posted at,Screen name,Text
433
433
  context '--decode-uris' do
434
434
  before(:each) do
435
435
  @search.options = @search.options.merge('decode_uris' => true)
436
- stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :owner_screen_name => 'testcli', :slug => 'presidents', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'))
437
- stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :max_id => '244099460672679937', :owner_screen_name => 'testcli', :slug => 'presidents', :include_entities => 'true'}).to_return(:body => fixture('empty_array.json'))
436
+ stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :owner_screen_name => 'testcli', :slug => 'presidents', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
437
+ stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :max_id => '244099460672679937', :owner_screen_name => 'testcli', :slug => 'presidents', :include_entities => 'true'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
438
438
  end
439
439
  it 'requests the correct resource' do
440
440
  @search.list('presidents', 'twitter')
@@ -467,8 +467,8 @@ ID Posted at Screen name Text
467
467
  context '--id' do
468
468
  before do
469
469
  @search.options = @search.options.merge('id' => true)
470
- stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :owner_id => '7505382', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
471
- stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :max_id => '244099460672679937', :owner_id => '7505382', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
470
+ stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :owner_id => '7505382', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
471
+ stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :max_id => '244099460672679937', :owner_id => '7505382', :slug => 'presidents', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
472
472
  end
473
473
  it 'requests the correct resource' do
474
474
  @search.list('7505382/presidents', 'twitter')
@@ -479,7 +479,7 @@ ID Posted at Screen name Text
479
479
  end
480
480
  context 'Twitter is down' do
481
481
  it 'retries 3 times and then raise an error' do
482
- stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :owner_screen_name => 'testcli', :slug => 'presidents', :include_entities => 'false'}).to_return(:status => 502)
482
+ stub_get('/1.1/lists/statuses.json').with(:query => {:count => '200', :owner_screen_name => 'testcli', :slug => 'presidents', :include_entities => 'false'}).to_return(:status => 502, :headers => {:content_type => 'application/json; charset=utf-8'})
483
483
  expect do
484
484
  @search.list('presidents', 'twitter')
485
485
  end.to raise_error(Twitter::Error::BadGateway)
@@ -490,8 +490,8 @@ ID Posted at Screen name Text
490
490
 
491
491
  describe '#retweets' do
492
492
  before do
493
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
494
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :max_id => '244102729860009983', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
493
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
494
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :max_id => '244102729860009983', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
495
495
  end
496
496
  it 'requests the correct resource' do
497
497
  @search.retweets('mosaic')
@@ -521,8 +521,8 @@ ID,Posted at,Screen name,Text
521
521
  context '--decode-uris' do
522
522
  before(:each) do
523
523
  @search.options = @search.options.merge('decode_uris' => true)
524
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'))
525
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :max_id => '244102729860009983', :include_entities => 'true'}).to_return(:body => fixture('empty_array.json'))
524
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
525
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :max_id => '244102729860009983', :include_entities => 'true'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
526
526
  end
527
527
  it 'requests the correct resource' do
528
528
  @search.retweets('mosaic')
@@ -548,7 +548,7 @@ ID Posted at Screen name Text
548
548
  end
549
549
  context 'Twitter is down' do
550
550
  it 'retries 3 times and then raise an error' do
551
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :include_entities => 'false'}).to_return(:status => 502)
551
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :include_entities => 'false'}).to_return(:status => 502, :headers => {:content_type => 'application/json; charset=utf-8'})
552
552
  expect do
553
553
  @search.retweets('mosaic')
554
554
  end.to raise_error(Twitter::Error::BadGateway)
@@ -557,8 +557,8 @@ ID Posted at Screen name Text
557
557
  end
558
558
  context 'with a user passed' do
559
559
  before do
560
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :screen_name => 'sferik', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
561
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :screen_name => 'sferik', :max_id => '244102729860009983', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
560
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :screen_name => 'sferik', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
561
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :screen_name => 'sferik', :max_id => '244102729860009983', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
562
562
  end
563
563
  it 'requests the correct resource' do
564
564
  @search.retweets('sferik', 'mosaic')
@@ -576,8 +576,8 @@ ID Posted at Screen name Text
576
576
  context '--id' do
577
577
  before do
578
578
  @search.options = @search.options.merge('id' => true)
579
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :user_id => '7505382', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
580
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :user_id => '7505382', :max_id => '244102729860009983', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
579
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :user_id => '7505382', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
580
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :include_rts => 'true', :user_id => '7505382', :max_id => '244102729860009983', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
581
581
  end
582
582
  it 'requests the correct resource' do
583
583
  @search.retweets('7505382', 'mosaic')
@@ -598,8 +598,8 @@ ID Posted at Screen name Text
598
598
 
599
599
  describe '#timeline' do
600
600
  before do
601
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
602
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
601
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
602
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
603
603
  end
604
604
  it 'requests the correct resource' do
605
605
  @search.timeline('twitter')
@@ -634,8 +634,8 @@ ID,Posted at,Screen name,Text
634
634
  context '--decode-uris' do
635
635
  before(:each) do
636
636
  @search.options = @search.options.merge('decode_uris' => true)
637
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'))
638
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :include_entities => 'true'}).to_return(:body => fixture('empty_array.json'))
637
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :include_entities => 'true'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
638
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :include_entities => 'true'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
639
639
  end
640
640
  it 'requests the correct resource' do
641
641
  @search.timeline('twitter')
@@ -650,8 +650,8 @@ ID,Posted at,Screen name,Text
650
650
  context '--exclude=replies' do
651
651
  before do
652
652
  @search.options = @search.options.merge('exclude' => 'replies')
653
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :exclude_replies => 'true', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
654
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :exclude_replies => 'true', :max_id => '244099460672679937', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
653
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :exclude_replies => 'true', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
654
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :exclude_replies => 'true', :max_id => '244099460672679937', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
655
655
  end
656
656
  it 'excludes replies' do
657
657
  @search.timeline
@@ -662,8 +662,8 @@ ID,Posted at,Screen name,Text
662
662
  context '--exclude=retweets' do
663
663
  before do
664
664
  @search.options = @search.options.merge('exclude' => 'retweets')
665
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :include_rts => 'false', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
666
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :include_rts => 'false', :max_id => '244099460672679937', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
665
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :include_rts => 'false', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
666
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :include_rts => 'false', :max_id => '244099460672679937', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
667
667
  end
668
668
  it 'excludes retweets' do
669
669
  @search.timeline
@@ -687,7 +687,7 @@ ID Posted at Screen name Text
687
687
  context '--max-id' do
688
688
  before do
689
689
  @search.options = @search.options.merge('max_id' => 244_104_558_433_951_744)
690
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :max_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
690
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :max_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
691
691
  end
692
692
  it 'requests the correct resource' do
693
693
  @search.timeline('twitter')
@@ -697,8 +697,8 @@ ID Posted at Screen name Text
697
697
  context '--since-id' do
698
698
  before do
699
699
  @search.options = @search.options.merge('since_id' => 244_104_558_433_951_744)
700
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :since_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
701
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :since_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
700
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :since_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
701
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :since_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
702
702
  end
703
703
  it 'requests the correct resource' do
704
704
  @search.timeline('twitter')
@@ -708,7 +708,7 @@ ID Posted at Screen name Text
708
708
  end
709
709
  context 'Twitter is down' do
710
710
  it 'retries 3 times and then raise an error' do
711
- stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:status => 502)
711
+ stub_get('/1.1/statuses/home_timeline.json').with(:query => {:count => '200', :include_entities => 'false'}).to_return(:status => 502, :headers => {:content_type => 'application/json; charset=utf-8'})
712
712
  expect do
713
713
  @search.timeline('twitter')
714
714
  end.to raise_error(Twitter::Error::BadGateway)
@@ -717,8 +717,8 @@ ID Posted at Screen name Text
717
717
  end
718
718
  context 'with a user passed' do
719
719
  before do
720
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :screen_name => 'sferik', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
721
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :screen_name => 'sferik', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
720
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :screen_name => 'sferik', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
721
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :screen_name => 'sferik', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
722
722
  end
723
723
  it 'requests the correct resource' do
724
724
  @search.timeline('sferik', 'twitter')
@@ -753,8 +753,8 @@ ID,Posted at,Screen name,Text
753
753
  context '--id' do
754
754
  before do
755
755
  @search.options = @search.options.merge('id' => true)
756
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :user_id => '7505382', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
757
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :user_id => '7505382', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
756
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :user_id => '7505382', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
757
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :max_id => '244099460672679937', :user_id => '7505382', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
758
758
  end
759
759
  it 'requests the correct resource' do
760
760
  @search.timeline('7505382', 'twitter')
@@ -778,7 +778,7 @@ ID Posted at Screen name Text
778
778
  context '--max-id' do
779
779
  before do
780
780
  @search.options = @search.options.merge('max_id' => 244_104_558_433_951_744)
781
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :screen_name => 'sferik', :max_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
781
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :screen_name => 'sferik', :max_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
782
782
  end
783
783
  it 'requests the correct resource' do
784
784
  @search.timeline('sferik', 'twitter')
@@ -788,8 +788,8 @@ ID Posted at Screen name Text
788
788
  context '--since-id' do
789
789
  before do
790
790
  @search.options = @search.options.merge('since_id' => 244_104_558_433_951_744)
791
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :screen_name => 'sferik', :since_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'))
792
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :screen_name => 'sferik', :max_id => '244099460672679937', :since_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'))
791
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :screen_name => 'sferik', :since_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
792
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => '200', :screen_name => 'sferik', :max_id => '244099460672679937', :since_id => '244104558433951744', :include_entities => 'false'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
793
793
  end
794
794
  it 'requests the correct resource' do
795
795
  @search.timeline('sferik', 'twitter')
@@ -799,7 +799,7 @@ ID Posted at Screen name Text
799
799
  end
800
800
  context 'Twitter is down' do
801
801
  it 'retries 3 times and then raise an error' do
802
- stub_get('/1.1/statuses/user_timeline.json').with(:query => {:screen_name => 'sferik', :count => '200', :include_entities => 'false'}).to_return(:status => 502)
802
+ stub_get('/1.1/statuses/user_timeline.json').with(:query => {:screen_name => 'sferik', :count => '200', :include_entities => 'false'}).to_return(:status => 502, :headers => {:content_type => 'application/json; charset=utf-8'})
803
803
  expect do
804
804
  @search.timeline('sferik', 'twitter')
805
805
  end.to raise_error(Twitter::Error::BadGateway)
@@ -811,15 +811,13 @@ ID Posted at Screen name Text
811
811
 
812
812
  describe '#users' do
813
813
  before do
814
- stub_get('/1.1/users/search.json').with(:query => {:page => '1', :q => 'Erik'}).to_return(:body => fixture('users.json'))
815
- stub_get('/1.1/users/search.json').with(:query => {:page => '2', :q => 'Erik'}).to_return(:body => fixture('empty_array.json'))
814
+ stub_get('/1.1/users/search.json').with(:query => {:page => '1', :q => 'Erik'}).to_return(:body => fixture('users.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
815
+ stub_get('/1.1/users/search.json').with(:query => {:page => '2', :q => 'Erik'}).to_return(:body => fixture('empty_array.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
816
816
  end
817
817
  it 'requests the correct resource' do
818
818
  @search.users('Erik')
819
- 1.upto(50).each do |page|
820
- expect(a_get('/1.1/users/search.json').with(:query => {:page => '1', :q => 'Erik'})).to have_been_made
821
- expect(a_get('/1.1/users/search.json').with(:query => {:page => '2', :q => 'Erik'})).to have_been_made
822
- end
819
+ expect(a_get('/1.1/users/search.json').with(:query => {:page => '1', :q => 'Erik'})).to have_been_made
820
+ expect(a_get('/1.1/users/search.json').with(:query => {:page => '2', :q => 'Erik'})).to have_been_made
823
821
  end
824
822
  it 'has the correct output' do
825
823
  @search.users('Erik')
@@ -934,7 +932,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
934
932
  end
935
933
  context 'Twitter is down' do
936
934
  it 'retries 3 times and then raise an error' do
937
- stub_get('/1.1/users/search.json').with(:query => {:page => '2', :q => 'Erik'}).to_return(:status => 502)
935
+ stub_get('/1.1/users/search.json').with(:query => {:page => '2', :q => 'Erik'}).to_return(:status => 502, :headers => {:content_type => 'application/json; charset=utf-8'})
938
936
  expect do
939
937
  @search.users('Erik')
940
938
  end.to raise_error(Twitter::Error::BadGateway)