twitter 5.9.0 → 5.10.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/CHANGELOG.md +5 -0
- data/README.md +4 -4
- data/Rakefile +1 -1
- data/lib/twitter/entities.rb +7 -10
- data/lib/twitter/error.rb +2 -1
- data/lib/twitter/place.rb +2 -2
- data/lib/twitter/rest/api.rb +2 -0
- data/lib/twitter/rest/client.rb +9 -8
- data/lib/twitter/rest/media.rb +29 -0
- data/lib/twitter/rest/request/multipart_with_file.rb +2 -3
- data/lib/twitter/rest/response/raise_error.rb +6 -7
- data/lib/twitter/rest/search.rb +0 -1
- data/lib/twitter/rest/timelines.rb +0 -3
- data/lib/twitter/rest/tweets.rb +4 -1
- data/lib/twitter/rest/users.rb +0 -5
- data/lib/twitter/rest/utils.rb +1 -1
- data/lib/twitter/search_results.rb +1 -3
- data/lib/twitter/user.rb +1 -1
- data/lib/twitter/utils.rb +2 -5
- data/lib/twitter/version.rb +1 -1
- data/spec/fixtures/status.json +1 -1
- data/spec/fixtures/upload.json +1 -0
- data/spec/helper.rb +8 -16
- data/spec/twitter/direct_message_spec.rb +0 -22
- data/spec/twitter/rest/client_spec.rb +1 -1
- data/spec/twitter/rest/favorites_spec.rb +4 -3
- data/spec/twitter/rest/friends_and_followers_spec.rb +14 -14
- data/spec/twitter/rest/lists_spec.rb +38 -38
- data/spec/twitter/rest/media_spec.rb +54 -0
- data/spec/twitter/rest/tweets_spec.rb +46 -46
- data/spec/twitter/rest/undocumented_spec.rb +2 -2
- data/spec/twitter/rest/users_spec.rb +6 -6
- data/spec/twitter/tweet_spec.rb +0 -20
- data/spec/twitter/user_spec.rb +4 -0
- metadata +7 -2
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Twitter::REST::Media do
|
4
|
+
before do
|
5
|
+
@client = Twitter::REST::Client.new(:consumer_key => 'CK', :consumer_secret => 'CS', :access_token => 'AT', :access_token_secret => 'AS')
|
6
|
+
end
|
7
|
+
|
8
|
+
describe '#upload' do
|
9
|
+
before do
|
10
|
+
stub_request(:post, 'https://upload.twitter.com/1.1/media/upload.json').to_return(:body => fixture('upload.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
11
|
+
end
|
12
|
+
context 'a gif image' do
|
13
|
+
it 'requests the correct resource' do
|
14
|
+
@client.upload(fixture('pbjt.gif'))
|
15
|
+
expect(a_request(:post, 'https://upload.twitter.com/1.1/media/upload.json')).to have_been_made
|
16
|
+
end
|
17
|
+
it 'returns an Integer' do
|
18
|
+
media_id = @client.upload(fixture('pbjt.gif'))
|
19
|
+
expect(a_request(:post, 'https://upload.twitter.com/1.1/media/upload.json')).to have_been_made
|
20
|
+
expect(media_id).to be_an Integer
|
21
|
+
expect(media_id).to eq(470_030_289_822_314_497)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
context 'a jpe image' do
|
25
|
+
it 'requests the correct resource' do
|
26
|
+
@client.upload(fixture('wildcomet2.jpe'))
|
27
|
+
expect(a_request(:post, 'https://upload.twitter.com/1.1/media/upload.json')).to have_been_made
|
28
|
+
end
|
29
|
+
end
|
30
|
+
context 'a jpeg image' do
|
31
|
+
it 'requests the correct resource' do
|
32
|
+
@client.upload(fixture('me.jpeg'))
|
33
|
+
expect(a_request(:post, 'https://upload.twitter.com/1.1/media/upload.json')).to have_been_made
|
34
|
+
end
|
35
|
+
end
|
36
|
+
context 'a png image' do
|
37
|
+
it 'requests the correct resource' do
|
38
|
+
@client.upload(fixture('we_concept_bg2.png'))
|
39
|
+
expect(a_request(:post, 'https://upload.twitter.com/1.1/media/upload.json')).to have_been_made
|
40
|
+
end
|
41
|
+
end
|
42
|
+
context 'a Tempfile' do
|
43
|
+
it 'requests the correct resource' do
|
44
|
+
@client.upload(Tempfile.new('tmp'))
|
45
|
+
expect(a_request(:post, 'https://upload.twitter.com/1.1/media/upload.json')).to have_been_made
|
46
|
+
end
|
47
|
+
end
|
48
|
+
context 'A non IO object' do
|
49
|
+
it 'raises an error' do
|
50
|
+
expect { @client.upload('Unacceptable IO') }.to raise_error(Twitter::Error::UnacceptableIO)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
require 'helper'
|
2
3
|
|
3
4
|
describe Twitter::REST::Tweets do
|
@@ -109,7 +110,7 @@ describe Twitter::REST::Tweets do
|
|
109
110
|
it 'returns a Tweet' do
|
110
111
|
tweet = @client.status(25_938_088_801)
|
111
112
|
expect(tweet).to be_a Twitter::Tweet
|
112
|
-
expect(tweet.text).to eq("
|
113
|
+
expect(tweet.text).to eq("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9")
|
113
114
|
end
|
114
115
|
context 'with a URI object passed' do
|
115
116
|
it 'requests the correct resource' do
|
@@ -179,7 +180,7 @@ describe Twitter::REST::Tweets do
|
|
179
180
|
tweets = @client.destroy_status(25_938_088_801)
|
180
181
|
expect(tweets).to be_an Array
|
181
182
|
expect(tweets.first).to be_a Twitter::Tweet
|
182
|
-
expect(tweets.first.text).to eq("
|
183
|
+
expect(tweets.first.text).to eq("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9")
|
183
184
|
end
|
184
185
|
context 'with a URI object passed' do
|
185
186
|
it 'requests the correct resource' do
|
@@ -205,16 +206,16 @@ describe Twitter::REST::Tweets do
|
|
205
206
|
|
206
207
|
describe '#update' do
|
207
208
|
before do
|
208
|
-
stub_post('/1.1/statuses/update.json').with(:body => {:status => "
|
209
|
+
stub_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9"}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
209
210
|
end
|
210
211
|
it 'requests the correct resource' do
|
211
|
-
@client.update("
|
212
|
-
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "
|
212
|
+
@client.update("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9")
|
213
|
+
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9"})).to have_been_made
|
213
214
|
end
|
214
215
|
it 'returns a Tweet' do
|
215
|
-
tweet = @client.update("
|
216
|
+
tweet = @client.update("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9")
|
216
217
|
expect(tweet).to be_a Twitter::Tweet
|
217
|
-
expect(tweet.text).to eq("
|
218
|
+
expect(tweet.text).to eq("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9")
|
218
219
|
end
|
219
220
|
context 'already posted' do
|
220
221
|
before do
|
@@ -222,12 +223,12 @@ describe Twitter::REST::Tweets do
|
|
222
223
|
stub_get('/1.1/statuses/user_timeline.json').with(:query => {:count => 1}).to_return(:body => fixture('statuses.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
223
224
|
end
|
224
225
|
it 'requests the correct resources' do
|
225
|
-
@client.update("
|
226
|
-
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "
|
226
|
+
@client.update("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9")
|
227
|
+
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9"})).to have_been_made
|
227
228
|
expect(a_get('/1.1/statuses/user_timeline.json').with(:query => {:count => 1})).to have_been_made
|
228
229
|
end
|
229
230
|
it 'returns a Tweet' do
|
230
|
-
tweet = @client.update("
|
231
|
+
tweet = @client.update("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9")
|
231
232
|
expect(tweet).to be_a Twitter::Tweet
|
232
233
|
expect(tweet.text).to eq('Happy Birthday @imdane. Watch out for those @rally pranksters!')
|
233
234
|
end
|
@@ -235,100 +236,100 @@ describe Twitter::REST::Tweets do
|
|
235
236
|
context 'with an in-reply-to status' do
|
236
237
|
before do
|
237
238
|
@tweet = Twitter::Tweet.new(:id => 1)
|
238
|
-
stub_post('/1.1/statuses/update.json').with(:body => {:status => "
|
239
|
+
stub_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status_id => '1'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
239
240
|
end
|
240
241
|
it 'requests the correct resource' do
|
241
|
-
@client.update("
|
242
|
-
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "
|
242
|
+
@client.update("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status => @tweet)
|
243
|
+
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status_id => '1'})).to have_been_made
|
243
244
|
end
|
244
245
|
end
|
245
246
|
context 'with an in-reply-to status ID' do
|
246
247
|
before do
|
247
|
-
stub_post('/1.1/statuses/update.json').with(:body => {:status => "
|
248
|
+
stub_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status_id => '1'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
248
249
|
end
|
249
250
|
it 'requests the correct resource' do
|
250
|
-
@client.update("
|
251
|
-
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "
|
251
|
+
@client.update("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status_id => 1)
|
252
|
+
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status_id => '1'})).to have_been_made
|
252
253
|
end
|
253
254
|
end
|
254
255
|
context 'with a place' do
|
255
256
|
before do
|
256
257
|
@place = Twitter::Place.new(:woeid => 'df51dec6f4ee2b2c')
|
257
|
-
stub_post('/1.1/statuses/update.json').with(:body => {:status => "
|
258
|
+
stub_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place_id => 'df51dec6f4ee2b2c'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
258
259
|
end
|
259
260
|
it 'requests the correct resource' do
|
260
|
-
@client.update("
|
261
|
-
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "
|
261
|
+
@client.update("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place => @place)
|
262
|
+
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place_id => 'df51dec6f4ee2b2c'})).to have_been_made
|
262
263
|
end
|
263
264
|
end
|
264
265
|
context 'with a place ID' do
|
265
266
|
before do
|
266
|
-
stub_post('/1.1/statuses/update.json').with(:body => {:status => "
|
267
|
+
stub_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place_id => 'df51dec6f4ee2b2c'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
267
268
|
end
|
268
269
|
it 'requests the correct resource' do
|
269
|
-
@client.update("
|
270
|
-
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "
|
270
|
+
@client.update("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place_id => 'df51dec6f4ee2b2c')
|
271
|
+
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place_id => 'df51dec6f4ee2b2c'})).to have_been_made
|
271
272
|
end
|
272
273
|
end
|
273
274
|
end
|
274
275
|
|
275
276
|
describe '#update!' do
|
276
277
|
before do
|
277
|
-
stub_post('/1.1/statuses/update.json').with(:body => {:status => "
|
278
|
+
stub_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9"}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
278
279
|
end
|
279
280
|
it 'requests the correct resource' do
|
280
|
-
@client.update!("
|
281
|
-
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "
|
281
|
+
@client.update!("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9")
|
282
|
+
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9"})).to have_been_made
|
282
283
|
end
|
283
284
|
it 'returns a Tweet' do
|
284
|
-
tweet = @client.update!("
|
285
|
+
tweet = @client.update!("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9")
|
285
286
|
expect(tweet).to be_a Twitter::Tweet
|
286
|
-
expect(tweet.text).to eq("
|
287
|
+
expect(tweet.text).to eq("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9")
|
287
288
|
end
|
288
289
|
context 'already posted' do
|
289
290
|
before do
|
290
291
|
stub_post('/1.1/statuses/update.json').to_return(:status => 403, :body => fixture('already_posted.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
291
292
|
end
|
292
293
|
it 'raises an DuplicateStatus error' do
|
293
|
-
expect { @client.update!("
|
294
|
+
expect { @client.update!("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9") }.to raise_error(Twitter::Error::DuplicateStatus)
|
294
295
|
end
|
295
296
|
end
|
296
297
|
context 'with an in-reply-to status' do
|
297
298
|
before do
|
298
299
|
@tweet = Twitter::Tweet.new(:id => 1)
|
299
|
-
stub_post('/1.1/statuses/update.json').with(:body => {:status => "
|
300
|
+
stub_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status_id => '1'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
300
301
|
end
|
301
302
|
it 'requests the correct resource' do
|
302
|
-
@client.update!("
|
303
|
-
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "
|
303
|
+
@client.update!("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status => @tweet)
|
304
|
+
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status_id => '1'})).to have_been_made
|
304
305
|
end
|
305
306
|
end
|
306
307
|
context 'with an in-reply-to status ID' do
|
307
308
|
before do
|
308
|
-
stub_post('/1.1/statuses/update.json').with(:body => {:status => "
|
309
|
+
stub_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status_id => '1'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
309
310
|
end
|
310
311
|
it 'requests the correct resource' do
|
311
|
-
@client.update!("
|
312
|
-
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "
|
312
|
+
@client.update!("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status_id => 1)
|
313
|
+
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :in_reply_to_status_id => '1'})).to have_been_made
|
313
314
|
end
|
314
315
|
end
|
315
316
|
context 'with a place' do
|
316
317
|
before do
|
317
318
|
@place = Twitter::Place.new(:woeid => 'df51dec6f4ee2b2c')
|
318
|
-
stub_post('/1.1/statuses/update.json').with(:body => {:status => "
|
319
|
+
stub_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place_id => 'df51dec6f4ee2b2c'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
319
320
|
end
|
320
321
|
it 'requests the correct resource' do
|
321
|
-
@client.update!("
|
322
|
-
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "
|
322
|
+
@client.update!("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place => @place)
|
323
|
+
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place_id => 'df51dec6f4ee2b2c'})).to have_been_made
|
323
324
|
end
|
324
325
|
end
|
325
326
|
context 'with a place ID' do
|
326
327
|
before do
|
327
|
-
stub_post('/1.1/statuses/update.json').with(:body => {:status => "
|
328
|
+
stub_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place_id => 'df51dec6f4ee2b2c'}).to_return(:body => fixture('status.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
328
329
|
end
|
329
330
|
it 'requests the correct resource' do
|
330
|
-
@client.update!("
|
331
|
-
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "
|
331
|
+
@client.update!("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place_id => 'df51dec6f4ee2b2c')
|
332
|
+
expect(a_post('/1.1/statuses/update.json').with(:body => {:status => "\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", :place_id => 'df51dec6f4ee2b2c'})).to have_been_made
|
332
333
|
end
|
333
334
|
end
|
334
335
|
end
|
@@ -439,13 +440,13 @@ describe Twitter::REST::Tweets do
|
|
439
440
|
end
|
440
441
|
context 'a gif image' do
|
441
442
|
it 'requests the correct resource' do
|
442
|
-
@client.update_with_media("
|
443
|
+
@client.update_with_media("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", fixture('pbjt.gif'))
|
443
444
|
expect(a_post('/1.1/statuses/update_with_media.json')).to have_been_made
|
444
445
|
end
|
445
446
|
it 'returns a Tweet' do
|
446
|
-
tweet = @client.update_with_media("
|
447
|
+
tweet = @client.update_with_media("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", fixture('pbjt.gif'))
|
447
448
|
expect(tweet).to be_a Twitter::Tweet
|
448
|
-
expect(tweet.text).to eq("
|
449
|
+
expect(tweet.text).to eq("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9")
|
449
450
|
end
|
450
451
|
end
|
451
452
|
context 'a jpe image' do
|
@@ -474,8 +475,7 @@ describe Twitter::REST::Tweets do
|
|
474
475
|
end
|
475
476
|
context 'A non IO object' do
|
476
477
|
it 'raises an error' do
|
477
|
-
|
478
|
-
expect { update.call }.to raise_error(Twitter::Error::UnacceptableIO)
|
478
|
+
expect { @client.update_with_media('You always have options', 'Unacceptable IO') }.to raise_error(Twitter::Error::UnacceptableIO)
|
479
479
|
end
|
480
480
|
end
|
481
481
|
context 'already posted' do
|
@@ -483,7 +483,7 @@ describe Twitter::REST::Tweets do
|
|
483
483
|
stub_post('/1.1/statuses/update_with_media.json').to_return(:status => 403, :body => fixture('already_posted.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
484
484
|
end
|
485
485
|
it 'raises an DuplicateStatus error' do
|
486
|
-
expect { @client.update_with_media("
|
486
|
+
expect { @client.update_with_media("\"I hope you'll keep...building bonds of friendship that will enrich your lives & enrich our world\" —FLOTUS in China, http://t.co/fxmuQN9JL9", fixture('pbjt.gif')) }.to raise_error(Twitter::Error::DuplicateStatus)
|
487
487
|
end
|
488
488
|
end
|
489
489
|
end
|
@@ -52,12 +52,12 @@ describe Twitter::REST::Undocumented do
|
|
52
52
|
end
|
53
53
|
context 'without arguments passed' do
|
54
54
|
before do
|
55
|
-
stub_get('/1.1/account/verify_credentials.json').with(:query => {:
|
55
|
+
stub_get('/1.1/account/verify_credentials.json').with(:query => {:skip_status => 'true'}).to_return(:body => fixture('sferik.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
56
56
|
stub_get('/users/following_followers_of.json').with(:query => {:user_id => '7505382', :cursor => '-1'}).to_return(:body => fixture('users_list.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
57
57
|
end
|
58
58
|
it 'requests the correct resource' do
|
59
59
|
@client.following_followers_of
|
60
|
-
expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:
|
60
|
+
expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:skip_status => 'true'})).to have_been_made
|
61
61
|
expect(a_get('/users/following_followers_of.json').with(:query => {:user_id => '7505382', :cursor => '-1'})).to have_been_made
|
62
62
|
end
|
63
63
|
it 'returns an array of numeric IDs for every user following the specified user' do
|
@@ -579,12 +579,12 @@ describe Twitter::REST::Users do
|
|
579
579
|
end
|
580
580
|
context 'without arguments passed' do
|
581
581
|
before do
|
582
|
-
stub_get('/1.1/account/verify_credentials.json').with(:query => {:
|
582
|
+
stub_get('/1.1/account/verify_credentials.json').with(:query => {:skip_status => 'true'}).to_return(:body => fixture('sferik.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
583
583
|
stub_get('/1.1/users/contributees.json').with(:query => {:user_id => '7505382'}).to_return(:body => fixture('contributees.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
584
584
|
end
|
585
585
|
it 'requests the correct resource' do
|
586
586
|
@client.contributees
|
587
|
-
expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:
|
587
|
+
expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:skip_status => 'true'})).to have_been_made
|
588
588
|
expect(a_get('/1.1/users/contributees.json').with(:query => {:user_id => '7505382'})).to have_been_made
|
589
589
|
end
|
590
590
|
it 'returns contributees' do
|
@@ -623,12 +623,12 @@ describe Twitter::REST::Users do
|
|
623
623
|
end
|
624
624
|
context 'without arguments passed' do
|
625
625
|
before do
|
626
|
-
stub_get('/1.1/account/verify_credentials.json').with(:query => {:
|
626
|
+
stub_get('/1.1/account/verify_credentials.json').with(:query => {:skip_status => 'true'}).to_return(:body => fixture('sferik.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
627
627
|
stub_get('/1.1/users/contributors.json').with(:query => {:user_id => '7505382'}).to_return(:body => fixture('members.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
628
628
|
end
|
629
629
|
it 'requests the correct resource' do
|
630
630
|
@client.contributors
|
631
|
-
expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:
|
631
|
+
expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:skip_status => 'true'})).to have_been_made
|
632
632
|
expect(a_get('/1.1/users/contributors.json').with(:query => {:user_id => '7505382'})).to have_been_made
|
633
633
|
end
|
634
634
|
it 'returns contributors' do
|
@@ -695,12 +695,12 @@ describe Twitter::REST::Users do
|
|
695
695
|
end
|
696
696
|
context 'without arguments passed' do
|
697
697
|
before do
|
698
|
-
stub_get('/1.1/account/verify_credentials.json').with(:query => {:
|
698
|
+
stub_get('/1.1/account/verify_credentials.json').with(:query => {:skip_status => 'true'}).to_return(:body => fixture('sferik.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
699
699
|
stub_get('/1.1/users/profile_banner.json').with(:query => {:user_id => '7505382'}).to_return(:body => fixture('profile_banner.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
700
700
|
end
|
701
701
|
it 'requests the correct resource' do
|
702
702
|
@client.profile_banner
|
703
|
-
expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:
|
703
|
+
expect(a_get('/1.1/account/verify_credentials.json').with(:query => {:skip_status => 'true'})).to have_been_made
|
704
704
|
expect(a_get('/1.1/users/profile_banner.json').with(:query => {:user_id => '7505382'})).to have_been_made
|
705
705
|
end
|
706
706
|
it 'returns an array of numeric IDs for every user following the specified user' do
|
data/spec/twitter/tweet_spec.rb
CHANGED
@@ -165,10 +165,6 @@ describe Twitter::Tweet do
|
|
165
165
|
it 'is empty' do
|
166
166
|
expect(subject.hashtags).to be_empty
|
167
167
|
end
|
168
|
-
it 'warns' do
|
169
|
-
subject.hashtags
|
170
|
-
expect($stderr.string).to match(/To get hashtags, you must pass `:include_entities => true` when requesting the Twitter::Tweet\./)
|
171
|
-
end
|
172
168
|
end
|
173
169
|
end
|
174
170
|
|
@@ -196,10 +192,6 @@ describe Twitter::Tweet do
|
|
196
192
|
media = Twitter::Tweet.new(:id => 28_669_546_014).media
|
197
193
|
expect(media).to be_empty
|
198
194
|
end
|
199
|
-
it 'warns when not set' do
|
200
|
-
Twitter::Tweet.new(:id => 28_669_546_014).media
|
201
|
-
expect($stderr.string).to match(/To get media, you must pass `:include_entities => true` when requesting the Twitter::Tweet\./)
|
202
|
-
end
|
203
195
|
end
|
204
196
|
|
205
197
|
describe '#media?' do
|
@@ -322,10 +314,6 @@ describe Twitter::Tweet do
|
|
322
314
|
symbols = Twitter::Tweet.new(:id => 28_669_546_014).symbols
|
323
315
|
expect(symbols).to be_empty
|
324
316
|
end
|
325
|
-
it 'warns when not set' do
|
326
|
-
Twitter::Tweet.new(:id => 28_669_546_014).symbols
|
327
|
-
expect($stderr.string).to match(/To get symbols, you must pass `:include_entities => true` when requesting the Twitter::Tweet\./)
|
328
|
-
end
|
329
317
|
end
|
330
318
|
|
331
319
|
describe '#symbols?' do
|
@@ -363,10 +351,6 @@ describe Twitter::Tweet do
|
|
363
351
|
tweet = Twitter::Tweet.new(:id => 28_669_546_014)
|
364
352
|
expect(tweet.uris).to be_empty
|
365
353
|
end
|
366
|
-
it 'warns when not set' do
|
367
|
-
Twitter::Tweet.new(:id => 28_669_546_014).urls
|
368
|
-
expect($stderr.string).to match(/To get urls, you must pass `:include_entities => true` when requesting the Twitter::Tweet\./)
|
369
|
-
end
|
370
354
|
it 'can handle strange urls' do
|
371
355
|
urls_array = [
|
372
356
|
{
|
@@ -454,10 +438,6 @@ describe Twitter::Tweet do
|
|
454
438
|
user_mentions = Twitter::Tweet.new(:id => 28_669_546_014).user_mentions
|
455
439
|
expect(user_mentions).to be_empty
|
456
440
|
end
|
457
|
-
it 'warns when not set' do
|
458
|
-
Twitter::Tweet.new(:id => 28_669_546_014).user_mentions
|
459
|
-
expect($stderr.string).to match(/To get user mentions, you must pass `:include_entities => true` when requesting the Twitter::Tweet\./)
|
460
|
-
end
|
461
441
|
end
|
462
442
|
|
463
443
|
describe '#user_mentions?' do
|
data/spec/twitter/user_spec.rb
CHANGED
@@ -350,6 +350,10 @@ describe Twitter::User do
|
|
350
350
|
expect(user.uri).to be_an Addressable::URI
|
351
351
|
expect(user.uri.to_s).to eq('https://twitter.com/sferik')
|
352
352
|
end
|
353
|
+
it 'returns nil when the screen name is not set' do
|
354
|
+
user = Twitter::User.new(:id => 7_505_382)
|
355
|
+
expect(user.uri).to be_nil
|
356
|
+
end
|
353
357
|
end
|
354
358
|
|
355
359
|
describe '#website' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: twitter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.
|
4
|
+
version: 5.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erik Michaels-Ober
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2014-
|
15
|
+
date: 2014-06-10 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: addressable
|
@@ -225,6 +225,7 @@ files:
|
|
225
225
|
- lib/twitter/rest/friends_and_followers.rb
|
226
226
|
- lib/twitter/rest/help.rb
|
227
227
|
- lib/twitter/rest/lists.rb
|
228
|
+
- lib/twitter/rest/media.rb
|
228
229
|
- lib/twitter/rest/oauth.rb
|
229
230
|
- lib/twitter/rest/places_and_geo.rb
|
230
231
|
- lib/twitter/rest/request/multipart_with_file.rb
|
@@ -321,6 +322,7 @@ files:
|
|
321
322
|
- spec/fixtures/tos.json
|
322
323
|
- spec/fixtures/track_streaming.json
|
323
324
|
- spec/fixtures/track_streaming_user.json
|
325
|
+
- spec/fixtures/upload.json
|
324
326
|
- spec/fixtures/user_search.json
|
325
327
|
- spec/fixtures/user_timeline.json
|
326
328
|
- spec/fixtures/users.json
|
@@ -357,6 +359,7 @@ files:
|
|
357
359
|
- spec/twitter/rest/geo_spec.rb
|
358
360
|
- spec/twitter/rest/help_spec.rb
|
359
361
|
- spec/twitter/rest/lists_spec.rb
|
362
|
+
- spec/twitter/rest/media_spec.rb
|
360
363
|
- spec/twitter/rest/oauth_spec.rb
|
361
364
|
- spec/twitter/rest/saved_searches_spec.rb
|
362
365
|
- spec/twitter/rest/search_spec.rb
|
@@ -470,6 +473,7 @@ test_files:
|
|
470
473
|
- spec/fixtures/tos.json
|
471
474
|
- spec/fixtures/track_streaming.json
|
472
475
|
- spec/fixtures/track_streaming_user.json
|
476
|
+
- spec/fixtures/upload.json
|
473
477
|
- spec/fixtures/user_search.json
|
474
478
|
- spec/fixtures/user_timeline.json
|
475
479
|
- spec/fixtures/users.json
|
@@ -506,6 +510,7 @@ test_files:
|
|
506
510
|
- spec/twitter/rest/geo_spec.rb
|
507
511
|
- spec/twitter/rest/help_spec.rb
|
508
512
|
- spec/twitter/rest/lists_spec.rb
|
513
|
+
- spec/twitter/rest/media_spec.rb
|
509
514
|
- spec/twitter/rest/oauth_spec.rb
|
510
515
|
- spec/twitter/rest/saved_searches_spec.rb
|
511
516
|
- spec/twitter/rest/search_spec.rb
|