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