twitter 5.5.1 → 5.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CHANGELOG.md +12 -0
- data/README.md +8 -10
- data/lib/twitter/base.rb +4 -2
- data/lib/twitter/client.rb +7 -5
- data/lib/twitter/configuration.rb +1 -1
- data/lib/twitter/cursor.rb +18 -17
- data/lib/twitter/entities.rb +27 -1
- data/lib/twitter/error.rb +1 -1
- data/lib/twitter/error/request_timeout.rb +10 -0
- data/lib/twitter/geo_results.rb +5 -3
- data/lib/twitter/media/photo.rb +1 -1
- data/lib/twitter/null_object.rb +8 -20
- data/lib/twitter/profile_banner.rb +1 -1
- data/lib/twitter/request.rb +47 -0
- data/lib/twitter/rest/api/direct_messages.rb +7 -5
- data/lib/twitter/rest/api/favorites.rb +7 -7
- data/lib/twitter/rest/api/friends_and_followers.rb +11 -9
- data/lib/twitter/rest/api/help.rb +4 -3
- data/lib/twitter/rest/api/lists.rb +9 -7
- data/lib/twitter/rest/api/oauth.rb +11 -5
- data/lib/twitter/rest/api/places_and_geo.rb +6 -5
- data/lib/twitter/rest/api/saved_searches.rb +8 -6
- data/lib/twitter/rest/api/search.rb +4 -10
- data/lib/twitter/rest/api/spam_reporting.rb +1 -0
- data/lib/twitter/rest/api/suggested_users.rb +4 -3
- data/lib/twitter/rest/api/timelines.rb +5 -4
- data/lib/twitter/rest/api/trends.rb +5 -4
- data/lib/twitter/rest/api/tweets.rb +19 -24
- data/lib/twitter/rest/api/users.rb +17 -16
- data/lib/twitter/rest/api/utils.rb +45 -73
- data/lib/twitter/rest/client.rb +34 -34
- data/lib/twitter/rest/request/multipart_with_file.rb +2 -0
- data/lib/twitter/rest/response/parse_json.rb +2 -0
- data/lib/twitter/rest/response/raise_error.rb +2 -0
- data/lib/twitter/search_results.rb +28 -60
- data/lib/twitter/streaming/client.rb +4 -4
- data/lib/twitter/suggestion.rb +1 -1
- data/lib/twitter/trend_results.rb +6 -4
- data/lib/twitter/tweet.rb +3 -3
- data/lib/twitter/user.rb +1 -1
- data/lib/twitter/utils.rb +18 -3
- data/lib/twitter/version.rb +2 -2
- data/spec/helper.rb +1 -1
- data/spec/twitter/error_spec.rb +1 -1
- data/spec/twitter/geo_factory_spec.rb +1 -1
- data/spec/twitter/identifiable_spec.rb +1 -1
- data/spec/twitter/media_factory_spec.rb +1 -1
- data/spec/twitter/rest/api/favorites_spec.rb +2 -2
- data/spec/twitter/rest/api/tweets_spec.rb +4 -4
- data/spec/twitter/rest/client_spec.rb +13 -25
- data/spec/twitter/tweet_spec.rb +69 -0
- data/twitter.gemspec +2 -1
- metadata +23 -15
- metadata.gz.sig +0 -0
- data/spec/twitter/null_object_spec.rb +0 -90
@@ -12,7 +12,7 @@ describe Twitter::GeoFactory do
|
|
12
12
|
expect(geo).to be_a Twitter::Geo::Polygon
|
13
13
|
end
|
14
14
|
it 'raises an IndexError when type is not specified' do
|
15
|
-
expect { Twitter::GeoFactory.new }.to raise_error
|
15
|
+
expect { Twitter::GeoFactory.new }.to raise_error(IndexError)
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
@@ -8,7 +8,7 @@ describe Twitter::MediaFactory do
|
|
8
8
|
expect(media).to be_a Twitter::Media::Photo
|
9
9
|
end
|
10
10
|
it 'raises an IndexError when type is not specified' do
|
11
|
-
expect { Twitter::MediaFactory.new }.to raise_error
|
11
|
+
expect { Twitter::MediaFactory.new }.to raise_error(IndexError)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
@@ -151,7 +151,7 @@ describe Twitter::REST::API::Favorites do
|
|
151
151
|
stub_post('/1.1/favorites/create.json').with(:body => {:id => '25938088801'}).to_return(:status => 403, :headers => {:content_type => 'application/json; charset=utf-8'})
|
152
152
|
end
|
153
153
|
it 'raises a Forbidden error' do
|
154
|
-
expect { @client.favorite!(25_938_088_801) }.to raise_error
|
154
|
+
expect { @client.favorite!(25_938_088_801) }.to raise_error(Twitter::Error::Forbidden)
|
155
155
|
end
|
156
156
|
end
|
157
157
|
context 'already favorited' do
|
@@ -159,7 +159,7 @@ describe Twitter::REST::API::Favorites do
|
|
159
159
|
stub_post('/1.1/favorites/create.json').with(:body => {:id => '25938088801'}).to_return(:status => 403, :body => fixture('already_favorited.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
160
160
|
end
|
161
161
|
it 'raises an AlreadyFavorited error' do
|
162
|
-
expect { @client.favorite!(25_938_088_801) }.to raise_error
|
162
|
+
expect { @client.favorite!(25_938_088_801) }.to raise_error(Twitter::Error::AlreadyFavorited)
|
163
163
|
end
|
164
164
|
end
|
165
165
|
context 'with a URI object passed' do
|
@@ -223,7 +223,7 @@ describe Twitter::REST::API::Tweets do
|
|
223
223
|
stub_post('/1.1/statuses/update.json').to_return(:status => 403, :body => fixture('already_posted.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
224
224
|
end
|
225
225
|
it 'raises an AlreadyPosted error' do
|
226
|
-
expect { @client.update("The problem with your code is that it's doing exactly what you told it to do.") }.to raise_error
|
226
|
+
expect { @client.update("The problem with your code is that it's doing exactly what you told it to do.") }.to raise_error(Twitter::Error::AlreadyPosted)
|
227
227
|
end
|
228
228
|
end
|
229
229
|
context 'with an in-reply-to status' do
|
@@ -333,7 +333,7 @@ describe Twitter::REST::API::Tweets do
|
|
333
333
|
stub_post('/1.1/statuses/retweet/25938088801.json').to_return(:status => 403, :headers => {:content_type => 'application/json; charset=utf-8'})
|
334
334
|
end
|
335
335
|
it 'raises a Forbidden error' do
|
336
|
-
expect { @client.retweet!(25_938_088_801) }.to raise_error
|
336
|
+
expect { @client.retweet!(25_938_088_801) }.to raise_error(Twitter::Error::Forbidden)
|
337
337
|
end
|
338
338
|
end
|
339
339
|
context 'already retweeted' do
|
@@ -341,7 +341,7 @@ describe Twitter::REST::API::Tweets do
|
|
341
341
|
stub_post('/1.1/statuses/retweet/25938088801.json').to_return(:status => 403, :body => fixture('already_retweeted.json'), :headers => {:content_type => 'application/json; charset=utf-8'})
|
342
342
|
end
|
343
343
|
it 'raises an AlreadyRetweeted error' do
|
344
|
-
expect { @client.retweet!(25_938_088_801) }.to raise_error
|
344
|
+
expect { @client.retweet!(25_938_088_801) }.to raise_error(Twitter::Error::AlreadyRetweeted)
|
345
345
|
end
|
346
346
|
end
|
347
347
|
context 'with a URI object passed' do
|
@@ -410,7 +410,7 @@ describe Twitter::REST::API::Tweets do
|
|
410
410
|
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'})
|
411
411
|
end
|
412
412
|
it 'raises an AlreadyPosted error' do
|
413
|
-
expect { @client.update_with_media("The problem with your code is that it's doing exactly what you told it to do.", fixture('pbjt.gif')) }.to raise_error
|
413
|
+
expect { @client.update_with_media("The problem with your code is that it's doing exactly what you told it to do.", fixture('pbjt.gif')) }.to raise_error(Twitter::Error::AlreadyPosted)
|
414
414
|
end
|
415
415
|
end
|
416
416
|
end
|
@@ -43,26 +43,6 @@ describe Twitter::REST::Client do
|
|
43
43
|
expect(user1).not_to eq(user2)
|
44
44
|
end
|
45
45
|
|
46
|
-
describe '#delete' do
|
47
|
-
before do
|
48
|
-
stub_delete('/custom/delete').with(:query => {:deleted => 'object'})
|
49
|
-
end
|
50
|
-
it 'allows custom delete requests' do
|
51
|
-
@client.delete('/custom/delete', :deleted => 'object')
|
52
|
-
expect(a_delete('/custom/delete').with(:query => {:deleted => 'object'})).to have_been_made
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
describe '#put' do
|
57
|
-
before do
|
58
|
-
stub_put('/custom/put').with(:body => {:updated => 'object'})
|
59
|
-
end
|
60
|
-
it 'allows custom put requests' do
|
61
|
-
@client.put('/custom/put', :updated => 'object')
|
62
|
-
expect(a_put('/custom/put').with(:body => {:updated => 'object'})).to have_been_made
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
46
|
describe '#user_token?' do
|
67
47
|
it 'returns true if the user token/secret are present' do
|
68
48
|
client = Twitter::REST::Client.new(:consumer_key => 'CK', :consumer_secret => 'CS', :access_token => 'AT', :access_token_secret => 'AS')
|
@@ -117,13 +97,21 @@ describe Twitter::REST::Client do
|
|
117
97
|
@client.update_with_media('Update', fixture('pbjt.gif'))
|
118
98
|
expect(a_post('/1.1/statuses/update_with_media.json')).to have_been_made
|
119
99
|
end
|
120
|
-
it 'catches Faraday errors' do
|
121
|
-
allow(@client).to receive(:connection).and_raise(Faraday::Error::
|
122
|
-
expect { @client.send(:request, :get, '/path') }.to raise_error
|
100
|
+
it 'catches and reraises Faraday timeout errors' do
|
101
|
+
allow(@client).to receive(:connection).and_raise(Faraday::Error::TimeoutError.new('execution expired'))
|
102
|
+
expect { @client.send(:request, :get, '/path') }.to raise_error(Twitter::Error::RequestTimeout)
|
103
|
+
end
|
104
|
+
it 'catches and reraises Timeout errors' do
|
105
|
+
allow(@client).to receive(:connection).and_raise(Timeout::Error.new('execution expired'))
|
106
|
+
expect { @client.send(:request, :get, '/path') }.to raise_error(Twitter::Error::RequestTimeout)
|
107
|
+
end
|
108
|
+
it 'catches and reraises Faraday client errors' do
|
109
|
+
allow(@client).to receive(:connection).and_raise(Faraday::Error::ClientError.new('connection failed'))
|
110
|
+
expect { @client.send(:request, :get, '/path') }.to raise_error(Twitter::Error)
|
123
111
|
end
|
124
|
-
it 'catches JSON::ParserError errors' do
|
112
|
+
it 'catches and reraises JSON::ParserError errors' do
|
125
113
|
allow(@client).to receive(:connection).and_raise(JSON::ParserError.new('unexpected token'))
|
126
|
-
expect { @client.send(:request, :get, '/path') }.to raise_error
|
114
|
+
expect { @client.send(:request, :get, '/path') }.to raise_error(Twitter::Error)
|
127
115
|
end
|
128
116
|
end
|
129
117
|
|
data/spec/twitter/tweet_spec.rb
CHANGED
@@ -156,6 +156,20 @@ describe Twitter::Tweet do
|
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
159
|
+
describe '#hashtags?' do
|
160
|
+
it 'returns true when the tweet includes hashtags entities' do
|
161
|
+
entities = {
|
162
|
+
:hashtags => [{:text => 'twitter', :indices => [10, 33]}]
|
163
|
+
}
|
164
|
+
tweet = Twitter::Tweet.new(:id => 28_669_546_014, :entities => entities)
|
165
|
+
expect(tweet.hashtags?).to be_true
|
166
|
+
end
|
167
|
+
it 'returns false when no entities are present' do
|
168
|
+
tweet = Twitter::Tweet.new(:id => 28_669_546_014)
|
169
|
+
expect(tweet.hashtags?).to be_false
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
159
173
|
describe '#media' do
|
160
174
|
it 'returns media' do
|
161
175
|
media = Twitter::Tweet.new(:id => 28_669_546_014, :entities => {:media => [{:id => 1, :type => 'photo'}]}).media
|
@@ -172,6 +186,20 @@ describe Twitter::Tweet do
|
|
172
186
|
end
|
173
187
|
end
|
174
188
|
|
189
|
+
describe '#media?' do
|
190
|
+
it 'returns true when the tweet includes media entities' do
|
191
|
+
entities = {
|
192
|
+
:media => [{:id => '1', :type => 'photo'}]
|
193
|
+
}
|
194
|
+
tweet = Twitter::Tweet.new(:id => 28_669_546_014, :entities => entities)
|
195
|
+
expect(tweet.media?).to be_true
|
196
|
+
end
|
197
|
+
it 'returns false when no entities are present' do
|
198
|
+
tweet = Twitter::Tweet.new(:id => 28_669_546_014)
|
199
|
+
expect(tweet.media?).to be_false
|
200
|
+
end
|
201
|
+
end
|
202
|
+
|
175
203
|
describe '#metadata' do
|
176
204
|
it 'returns a Twitter::Metadata when metadata is set' do
|
177
205
|
tweet = Twitter::Tweet.new(:id => 28_669_546_014, :metadata => {})
|
@@ -284,6 +312,20 @@ describe Twitter::Tweet do
|
|
284
312
|
end
|
285
313
|
end
|
286
314
|
|
315
|
+
describe '#symbols?' do
|
316
|
+
it 'returns true when the tweet includes symbols entities' do
|
317
|
+
entities = {
|
318
|
+
:symbols => [{:text => 'PEP'}]
|
319
|
+
}
|
320
|
+
tweet = Twitter::Tweet.new(:id => 28_669_546_014, :entities => entities)
|
321
|
+
expect(tweet.symbols?).to be_true
|
322
|
+
end
|
323
|
+
it 'returns false when no entities are present' do
|
324
|
+
tweet = Twitter::Tweet.new(:id => 28_669_546_014)
|
325
|
+
expect(tweet.symbols?).to be_false
|
326
|
+
end
|
327
|
+
end
|
328
|
+
|
287
329
|
describe '#uris' do
|
288
330
|
it 'returns an array of Entity::URIs when entities are set' do
|
289
331
|
urls_array = [
|
@@ -334,6 +376,20 @@ describe Twitter::Tweet do
|
|
334
376
|
end
|
335
377
|
end
|
336
378
|
|
379
|
+
describe '#uris?' do
|
380
|
+
it 'returns true when the tweet includes urls entities' do
|
381
|
+
entities = {
|
382
|
+
:urls => [{:url => 'http://with_underscore.example.com/t.co'}]
|
383
|
+
}
|
384
|
+
tweet = Twitter::Tweet.new(:id => 28_669_546_014, :entities => entities)
|
385
|
+
expect(tweet.uris?).to be_true
|
386
|
+
end
|
387
|
+
it 'returns false when no entities are present' do
|
388
|
+
tweet = Twitter::Tweet.new(:id => 28_669_546_014)
|
389
|
+
expect(tweet.uris?).to be_false
|
390
|
+
end
|
391
|
+
end
|
392
|
+
|
337
393
|
describe '#user' do
|
338
394
|
it 'returns a User when user is set' do
|
339
395
|
tweet = Twitter::Tweet.new(:id => 28_669_546_014, :user => {:id => 7_505_382})
|
@@ -388,4 +444,17 @@ describe Twitter::Tweet do
|
|
388
444
|
end
|
389
445
|
end
|
390
446
|
|
447
|
+
describe '#user_mentions?' do
|
448
|
+
it 'returns true when the tweet includes user_mention entities' do
|
449
|
+
entities = {
|
450
|
+
:user_mentions => [{:screen_name => 'sferik'}]
|
451
|
+
}
|
452
|
+
tweet = Twitter::Tweet.new(:id => 28_669_546_014, :entities => entities)
|
453
|
+
expect(tweet.user_mentions?).to be_true
|
454
|
+
end
|
455
|
+
it 'returns false when no entities are present' do
|
456
|
+
tweet = Twitter::Tweet.new(:id => 28_669_546_014)
|
457
|
+
expect(tweet.user_mentions?).to be_false
|
458
|
+
end
|
459
|
+
end
|
391
460
|
end
|
data/twitter.gemspec
CHANGED
@@ -7,11 +7,12 @@ Gem::Specification.new do |spec|
|
|
7
7
|
spec.add_dependency 'buftok', '~> 0.2.0'
|
8
8
|
spec.add_dependency 'descendants_tracker', '~> 0.0.3'
|
9
9
|
spec.add_dependency 'equalizer', '~> 0.0.9'
|
10
|
-
spec.add_dependency 'faraday',
|
10
|
+
spec.add_dependency 'faraday', '~> 0.9.0'
|
11
11
|
spec.add_dependency 'http', '~> 0.5.0'
|
12
12
|
spec.add_dependency 'http_parser.rb', '~> 0.6.0'
|
13
13
|
spec.add_dependency 'json', '~> 1.8'
|
14
14
|
spec.add_dependency 'memoizable', '~> 0.4.0'
|
15
|
+
spec.add_dependency 'naught', '~> 1.0'
|
15
16
|
spec.add_dependency 'simple_oauth', '~> 0.2.0'
|
16
17
|
spec.add_development_dependency 'bundler', '~> 1.0'
|
17
18
|
spec.authors = ['Erik Michaels-Ober', 'John Nunemaker', 'Wynn Netherland', 'Steve Richert', 'Steve Agalloco']
|
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.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erik Michaels-Ober
|
@@ -33,7 +33,7 @@ cert_chain:
|
|
33
33
|
Sf3lVKpBCWgRpGTvy45XVpB+59y33PJmEuQ1PTEOYvQyao9UKMAAaAN/7qWQtjl0
|
34
34
|
hlw=
|
35
35
|
-----END CERTIFICATE-----
|
36
|
-
date: 2014-01-
|
36
|
+
date: 2014-01-26 00:00:00.000000000 Z
|
37
37
|
dependencies:
|
38
38
|
- !ruby/object:Gem::Dependency
|
39
39
|
name: addressable
|
@@ -95,22 +95,16 @@ dependencies:
|
|
95
95
|
name: faraday
|
96
96
|
requirement: !ruby/object:Gem::Requirement
|
97
97
|
requirements:
|
98
|
-
- - "
|
99
|
-
- !ruby/object:Gem::Version
|
100
|
-
version: '0.8'
|
101
|
-
- - "<"
|
98
|
+
- - "~>"
|
102
99
|
- !ruby/object:Gem::Version
|
103
|
-
version:
|
100
|
+
version: 0.9.0
|
104
101
|
type: :runtime
|
105
102
|
prerelease: false
|
106
103
|
version_requirements: !ruby/object:Gem::Requirement
|
107
104
|
requirements:
|
108
|
-
- - "
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0.8'
|
111
|
-
- - "<"
|
105
|
+
- - "~>"
|
112
106
|
- !ruby/object:Gem::Version
|
113
|
-
version:
|
107
|
+
version: 0.9.0
|
114
108
|
- !ruby/object:Gem::Dependency
|
115
109
|
name: http
|
116
110
|
requirement: !ruby/object:Gem::Requirement
|
@@ -167,6 +161,20 @@ dependencies:
|
|
167
161
|
- - "~>"
|
168
162
|
- !ruby/object:Gem::Version
|
169
163
|
version: 0.4.0
|
164
|
+
- !ruby/object:Gem::Dependency
|
165
|
+
name: naught
|
166
|
+
requirement: !ruby/object:Gem::Requirement
|
167
|
+
requirements:
|
168
|
+
- - "~>"
|
169
|
+
- !ruby/object:Gem::Version
|
170
|
+
version: '1.0'
|
171
|
+
type: :runtime
|
172
|
+
prerelease: false
|
173
|
+
version_requirements: !ruby/object:Gem::Requirement
|
174
|
+
requirements:
|
175
|
+
- - "~>"
|
176
|
+
- !ruby/object:Gem::Version
|
177
|
+
version: '1.0'
|
170
178
|
- !ruby/object:Gem::Dependency
|
171
179
|
name: simple_oauth
|
172
180
|
requirement: !ruby/object:Gem::Requirement
|
@@ -236,6 +244,7 @@ files:
|
|
236
244
|
- lib/twitter/error/internal_server_error.rb
|
237
245
|
- lib/twitter/error/not_acceptable.rb
|
238
246
|
- lib/twitter/error/not_found.rb
|
247
|
+
- lib/twitter/error/request_timeout.rb
|
239
248
|
- lib/twitter/error/service_unavailable.rb
|
240
249
|
- lib/twitter/error/too_many_requests.rb
|
241
250
|
- lib/twitter/error/unauthorized.rb
|
@@ -259,6 +268,7 @@ files:
|
|
259
268
|
- lib/twitter/profile_banner.rb
|
260
269
|
- lib/twitter/rate_limit.rb
|
261
270
|
- lib/twitter/relationship.rb
|
271
|
+
- lib/twitter/request.rb
|
262
272
|
- lib/twitter/rest/api/direct_messages.rb
|
263
273
|
- lib/twitter/rest/api/favorites.rb
|
264
274
|
- lib/twitter/rest/api/friends_and_followers.rb
|
@@ -385,7 +395,6 @@ files:
|
|
385
395
|
- spec/twitter/list_spec.rb
|
386
396
|
- spec/twitter/media/photo_spec.rb
|
387
397
|
- spec/twitter/media_factory_spec.rb
|
388
|
-
- spec/twitter/null_object_spec.rb
|
389
398
|
- spec/twitter/oembed_spec.rb
|
390
399
|
- spec/twitter/place_spec.rb
|
391
400
|
- spec/twitter/profile_banner_spec.rb
|
@@ -446,7 +455,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
446
455
|
version: 1.3.5
|
447
456
|
requirements: []
|
448
457
|
rubyforge_project:
|
449
|
-
rubygems_version: 2.2.
|
458
|
+
rubygems_version: 2.2.1
|
450
459
|
signing_key:
|
451
460
|
specification_version: 4
|
452
461
|
summary: A Ruby interface to the Twitter API.
|
@@ -533,7 +542,6 @@ test_files:
|
|
533
542
|
- spec/twitter/list_spec.rb
|
534
543
|
- spec/twitter/media/photo_spec.rb
|
535
544
|
- spec/twitter/media_factory_spec.rb
|
536
|
-
- spec/twitter/null_object_spec.rb
|
537
545
|
- spec/twitter/oembed_spec.rb
|
538
546
|
- spec/twitter/place_spec.rb
|
539
547
|
- spec/twitter/profile_banner_spec.rb
|
metadata.gz.sig
CHANGED
Binary file
|
@@ -1,90 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
describe Twitter::NullObject do
|
4
|
-
|
5
|
-
describe '#nil?' do
|
6
|
-
it 'returns true' do
|
7
|
-
expect(subject.nil?).to be true
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
describe '#to_a' do
|
12
|
-
it 'returns an empty array' do
|
13
|
-
expect(subject.to_a).to be_an Array
|
14
|
-
expect(subject.to_a).to be_empty
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
describe '#to_ary' do
|
19
|
-
it 'returns an empty array' do
|
20
|
-
expect(subject.to_ary).to be_an Array
|
21
|
-
expect(subject.to_ary).to be_empty
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
if RUBY_VERSION >= '1.9'
|
26
|
-
describe '#to_c' do
|
27
|
-
it 'returns zero as a complex number' do
|
28
|
-
expect(subject.to_c).to be_a Complex
|
29
|
-
expect(subject.to_c).to be_zero
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
describe '#to_r' do
|
34
|
-
it 'returns zero as a rational number' do
|
35
|
-
expect(subject.to_r).to be_a Rational
|
36
|
-
expect(subject.to_r).to be_zero
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
if RUBY_VERSION >= '2.0'
|
42
|
-
describe '#to_h' do
|
43
|
-
it 'returns an empty hash' do
|
44
|
-
expect(subject.to_h).to be_a Hash
|
45
|
-
expect(subject.to_h).to be_empty
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
|
50
|
-
describe '#to_f' do
|
51
|
-
it 'returns zero as a floating point number' do
|
52
|
-
expect(subject.to_f).to be_a Float
|
53
|
-
expect(subject.to_f).to be_zero
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
describe '#to_i' do
|
58
|
-
it 'returns zero' do
|
59
|
-
expect(subject.to_i).to be_an Integer
|
60
|
-
expect(subject.to_i).to be_zero
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
describe '#to_s' do
|
65
|
-
it 'returns an empty string' do
|
66
|
-
expect(subject.to_s).to be_a String
|
67
|
-
expect(subject.to_s).to be_empty
|
68
|
-
end
|
69
|
-
end
|
70
|
-
|
71
|
-
describe '#to_str' do
|
72
|
-
it 'returns an empty string' do
|
73
|
-
expect(subject.to_str).to be_a String
|
74
|
-
expect(subject.to_str).to be_empty
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
describe 'calling any method' do
|
79
|
-
it 'returns self' do
|
80
|
-
expect(subject.any).to equal subject
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
describe '#respond_to?' do
|
85
|
-
it 'returns true' do
|
86
|
-
expect(subject.respond_to?(:any)).to be true
|
87
|
-
end
|
88
|
-
end
|
89
|
-
|
90
|
-
end
|