twitter 5.1.1 → 5.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data.tar.gz.sig +0 -0
- data/.yardopts +2 -0
- data/CHANGELOG.md +10 -1
- data/CONTRIBUTING.md +2 -2
- data/README.md +30 -20
- data/Rakefile +26 -5
- data/lib/twitter/arguments.rb +0 -1
- data/lib/twitter/base.rb +13 -16
- data/lib/twitter/basic_user.rb +3 -3
- data/lib/twitter/client.rb +7 -8
- data/lib/twitter/configuration.rb +5 -5
- data/lib/twitter/core_ext/enumerable.rb +0 -2
- data/lib/twitter/core_ext/kernel.rb +0 -2
- data/lib/twitter/creatable.rb +0 -1
- data/lib/twitter/cursor.rb +7 -10
- data/lib/twitter/direct_message.rb +1 -1
- data/lib/twitter/entity/uri.rb +2 -2
- data/lib/twitter/enumerable.rb +1 -2
- data/lib/twitter/error.rb +4 -6
- data/lib/twitter/error/already_favorited.rb +1 -1
- data/lib/twitter/error/already_posted.rb +1 -1
- data/lib/twitter/error/already_retweeted.rb +1 -1
- data/lib/twitter/error/too_many_requests.rb +2 -2
- data/lib/twitter/factory.rb +2 -6
- data/lib/twitter/geo.rb +1 -1
- data/lib/twitter/geo/point.rb +3 -5
- data/lib/twitter/geo_factory.rb +1 -5
- data/lib/twitter/geo_results.rb +5 -8
- data/lib/twitter/identity.rb +1 -2
- data/lib/twitter/list.rb +4 -5
- data/lib/twitter/media/photo.rb +1 -2
- data/lib/twitter/media_factory.rb +1 -5
- data/lib/twitter/null_object.rb +4 -6
- data/lib/twitter/oembed.rb +1 -1
- data/lib/twitter/place.rb +4 -5
- data/lib/twitter/profile_banner.rb +1 -3
- data/lib/twitter/rate_limit.rb +1 -3
- data/lib/twitter/relationship.rb +1 -2
- data/lib/twitter/rest/api/direct_messages.rb +13 -14
- data/lib/twitter/rest/api/favorites.rb +10 -11
- data/lib/twitter/rest/api/friends_and_followers.rb +36 -36
- data/lib/twitter/rest/api/help.rb +8 -9
- data/lib/twitter/rest/api/lists.rb +62 -63
- data/lib/twitter/rest/api/oauth.rb +3 -4
- data/lib/twitter/rest/api/places_and_geo.rb +9 -10
- data/lib/twitter/rest/api/saved_searches.rb +5 -6
- data/lib/twitter/rest/api/search.rb +2 -3
- data/lib/twitter/rest/api/spam_reporting.rb +1 -2
- data/lib/twitter/rest/api/suggested_users.rb +4 -5
- data/lib/twitter/rest/api/timelines.rb +17 -18
- data/lib/twitter/rest/api/trends.rb +10 -11
- data/lib/twitter/rest/api/tweets.rb +15 -16
- data/lib/twitter/rest/api/undocumented.rb +6 -7
- data/lib/twitter/rest/api/users.rb +51 -52
- data/lib/twitter/rest/api/utils.rb +23 -30
- data/lib/twitter/rest/client.rb +8 -9
- data/lib/twitter/rest/request/multipart_with_file.rb +0 -1
- data/lib/twitter/rest/response/parse_error_json.rb +0 -2
- data/lib/twitter/rest/response/parse_json.rb +0 -2
- data/lib/twitter/rest/response/raise_error.rb +1 -3
- data/lib/twitter/search_results.rb +12 -15
- data/lib/twitter/settings.rb +2 -2
- data/lib/twitter/size.rb +2 -2
- data/lib/twitter/source_user.rb +1 -1
- data/lib/twitter/streaming/client.rb +71 -18
- data/lib/twitter/streaming/connection.rb +1 -3
- data/lib/twitter/streaming/deleted_tweet.rb +8 -0
- data/lib/twitter/streaming/event.rb +8 -8
- data/lib/twitter/streaming/friend_list.rb +2 -9
- data/lib/twitter/streaming/message_parser.rb +13 -7
- data/lib/twitter/streaming/response.rb +0 -2
- data/lib/twitter/streaming/stall_warning.rb +7 -0
- data/lib/twitter/suggestion.rb +0 -1
- data/lib/twitter/token.rb +2 -3
- data/lib/twitter/trend_results.rb +5 -8
- data/lib/twitter/tweet.rb +16 -24
- data/lib/twitter/user.rb +30 -32
- data/lib/twitter/version.rb +2 -5
- data/spec/fixtures/track_streaming_user.json +2 -1
- data/spec/helper.rb +6 -2
- data/spec/twitter/base_spec.rb +9 -9
- data/spec/twitter/basic_user_spec.rb +6 -6
- data/spec/twitter/configuration_spec.rb +4 -4
- data/spec/twitter/cursor_spec.rb +27 -27
- data/spec/twitter/direct_message_spec.rb +36 -36
- data/spec/twitter/entity/uri_spec.rb +27 -27
- data/spec/twitter/error_spec.rb +21 -21
- data/spec/twitter/geo/point_spec.rb +9 -9
- data/spec/twitter/geo/polygon_spec.rb +5 -5
- data/spec/twitter/geo_factory_spec.rb +7 -7
- data/spec/twitter/geo_results_spec.rb +11 -11
- data/spec/twitter/geo_spec.rb +5 -5
- data/spec/twitter/identifiable_spec.rb +9 -9
- data/spec/twitter/list_spec.rb +38 -38
- data/spec/twitter/media/photo_spec.rb +54 -54
- data/spec/twitter/media_factory_spec.rb +5 -5
- data/spec/twitter/null_object_spec.rb +6 -6
- data/spec/twitter/oembed_spec.rb +65 -65
- data/spec/twitter/place_spec.rb +89 -60
- data/spec/twitter/profile_banner_spec.rb +3 -3
- data/spec/twitter/rate_limit_spec.rb +18 -18
- data/spec/twitter/relationship_spec.rb +16 -16
- data/spec/twitter/rest/api/direct_messages_spec.rb +61 -61
- data/spec/twitter/rest/api/favorites_spec.rb +93 -93
- data/spec/twitter/rest/api/friends_and_followers_spec.rb +349 -349
- data/spec/twitter/rest/api/geo_spec.rb +33 -33
- data/spec/twitter/rest/api/help_spec.rb +24 -24
- data/spec/twitter/rest/api/lists_spec.rb +487 -487
- data/spec/twitter/rest/api/oauth_spec.rb +30 -30
- data/spec/twitter/rest/api/saved_searches_spec.rb +40 -40
- data/spec/twitter/rest/api/search_spec.rb +16 -16
- data/spec/twitter/rest/api/spam_reporting_spec.rb +9 -9
- data/spec/twitter/rest/api/suggested_users_spec.rb +23 -23
- data/spec/twitter/rest/api/timelines_spec.rb +58 -58
- data/spec/twitter/rest/api/trends_spec.rb +26 -26
- data/spec/twitter/rest/api/tweets_spec.rb +284 -284
- data/spec/twitter/rest/api/undocumented_spec.rb +51 -51
- data/spec/twitter/rest/api/users_spec.rb +360 -360
- data/spec/twitter/rest/client_spec.rb +99 -103
- data/spec/twitter/saved_search_spec.rb +16 -16
- data/spec/twitter/search_results_spec.rb +44 -44
- data/spec/twitter/settings_spec.rb +8 -8
- data/spec/twitter/size_spec.rb +5 -5
- data/spec/twitter/source_user_spec.rb +6 -6
- data/spec/twitter/streaming/client_spec.rb +53 -49
- data/spec/twitter/streaming/deleted_tweet_spec.rb +23 -0
- data/spec/twitter/streaming/event_spec.rb +20 -22
- data/spec/twitter/streaming/friend_list_spec.rb +11 -0
- data/spec/twitter/streaming/message_parser_spec.rb +54 -0
- data/spec/twitter/suggestion_spec.rb +11 -11
- data/spec/twitter/target_user_spec.rb +6 -6
- data/spec/twitter/token_spec.rb +4 -4
- data/spec/twitter/trend_results_spec.rb +30 -30
- data/spec/twitter/trend_spec.rb +20 -20
- data/spec/twitter/tweet_spec.rb +170 -173
- data/spec/twitter/user_spec.rb +179 -179
- data/twitter.gemspec +2 -2
- metadata +21 -4
- metadata.gz.sig +2 -1
data/spec/twitter/user_spec.rb
CHANGED
@@ -3,332 +3,332 @@ require 'helper'
|
|
3
3
|
|
4
4
|
describe Twitter::User do
|
5
5
|
|
6
|
-
describe
|
7
|
-
it
|
8
|
-
user = Twitter::User.new(:id => 1, :screen_name =>
|
9
|
-
other = Twitter::User.new(:id => 1, :screen_name =>
|
6
|
+
describe '#==' do
|
7
|
+
it 'returns true when objects IDs are the same' do
|
8
|
+
user = Twitter::User.new(:id => 1, :screen_name => 'foo')
|
9
|
+
other = Twitter::User.new(:id => 1, :screen_name => 'bar')
|
10
10
|
expect(user == other).to be true
|
11
11
|
end
|
12
|
-
it
|
12
|
+
it 'returns false when objects IDs are different' do
|
13
13
|
user = Twitter::User.new(:id => 1)
|
14
14
|
other = Twitter::User.new(:id => 2)
|
15
15
|
expect(user == other).to be false
|
16
16
|
end
|
17
|
-
it
|
17
|
+
it 'returns false when classes are different' do
|
18
18
|
user = Twitter::User.new(:id => 1)
|
19
19
|
other = Twitter::Identity.new(:id => 1)
|
20
20
|
expect(user == other).to be false
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
|
-
describe
|
25
|
-
it
|
26
|
-
user = Twitter::User.new(:id =>
|
24
|
+
describe '#created_at' do
|
25
|
+
it 'returns a Time when created_at is set' do
|
26
|
+
user = Twitter::User.new(:id => 7_505_382, :created_at => 'Mon Jul 16 12:59:01 +0000 2007')
|
27
27
|
expect(user.created_at).to be_a Time
|
28
28
|
end
|
29
|
-
it
|
30
|
-
user = Twitter::User.new(:id =>
|
29
|
+
it 'returns nil when created_at is not set' do
|
30
|
+
user = Twitter::User.new(:id => 7_505_382)
|
31
31
|
expect(user.created_at).to be_nil
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
describe
|
36
|
-
it
|
37
|
-
user = Twitter::User.new(:id =>
|
35
|
+
describe '#created?' do
|
36
|
+
it 'returns true when created_at is set' do
|
37
|
+
user = Twitter::User.new(:id => 7_505_382, :created_at => 'Mon Jul 16 12:59:01 +0000 2007')
|
38
38
|
expect(user.created?).to be true
|
39
39
|
end
|
40
|
-
it
|
41
|
-
user = Twitter::User.new(:id =>
|
40
|
+
it 'returns false when created_at is not set' do
|
41
|
+
user = Twitter::User.new(:id => 7_505_382)
|
42
42
|
expect(user.created?).to be false
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
describe
|
47
|
-
it
|
46
|
+
describe '#description_uris' do
|
47
|
+
it 'returns an array of Entity::URIs when entities are set' do
|
48
48
|
urls_array = [
|
49
49
|
{
|
50
|
-
:url =>
|
51
|
-
:expanded_url =>
|
52
|
-
:display_url =>
|
50
|
+
:url => 'http://example.com/t.co',
|
51
|
+
:expanded_url => 'http://example.com/expanded',
|
52
|
+
:display_url => 'example.com/expanded…',
|
53
53
|
:indices => [10, 33],
|
54
54
|
}
|
55
55
|
]
|
56
|
-
user = Twitter::User.new(:id =>
|
56
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {:description => {:urls => urls_array}})
|
57
57
|
expect(user.description_uris).to be_an Array
|
58
58
|
expect(user.description_uris.first).to be_a Twitter::Entity::URI
|
59
59
|
expect(user.description_uris.first.indices).to eq([10, 33])
|
60
|
-
expect(user.description_uris.first.display_uri).to eq(
|
60
|
+
expect(user.description_uris.first.display_uri).to eq('example.com/expanded…')
|
61
61
|
end
|
62
|
-
it
|
63
|
-
user = Twitter::User.new(:id =>
|
62
|
+
it 'is empty when not set' do
|
63
|
+
user = Twitter::User.new(:id => 7_505_382, :entities => {:description => {:urls => []}})
|
64
64
|
expect(user.description_uris).to be_empty
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
|
-
describe
|
69
|
-
it
|
70
|
-
user = Twitter::User.new(:id =>
|
68
|
+
describe '#profile_banner_uri' do
|
69
|
+
it 'accepts utf8 urls' do
|
70
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581©_normal.png')
|
71
71
|
expect(user.profile_banner_uri).to be_a Addressable::URI
|
72
72
|
end
|
73
|
-
it
|
74
|
-
user = Twitter::User.new(:id =>
|
73
|
+
it 'returns a URI when profile_banner_url is set' do
|
74
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
75
75
|
expect(user.profile_banner_uri).to be_a Addressable::URI
|
76
76
|
end
|
77
|
-
it
|
78
|
-
user = Twitter::User.new(:id =>
|
77
|
+
it 'returns nil when profile_banner_uri is not set' do
|
78
|
+
user = Twitter::User.new(:id => 7_505_382)
|
79
79
|
expect(user.profile_banner_uri).to be_nil
|
80
80
|
end
|
81
|
-
it
|
82
|
-
user = Twitter::User.new(:id =>
|
83
|
-
expect(user.profile_banner_uri.to_s).to eq(
|
81
|
+
it 'returns the web-sized image' do
|
82
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
83
|
+
expect(user.profile_banner_uri.to_s).to eq('http://si0.twimg.com/profile_banners/7_505_382/1348266581/web')
|
84
84
|
end
|
85
|
-
context
|
86
|
-
it
|
87
|
-
user = Twitter::User.new(:id =>
|
88
|
-
expect(user.profile_banner_uri(:web_retina).to_s).to eq(
|
85
|
+
context 'with :web_retina passed' do
|
86
|
+
it 'returns the web retina-sized image' do
|
87
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
88
|
+
expect(user.profile_banner_uri(:web_retina).to_s).to eq('http://si0.twimg.com/profile_banners/7_505_382/1348266581/web_retina')
|
89
89
|
end
|
90
90
|
end
|
91
|
-
context
|
92
|
-
it
|
93
|
-
user = Twitter::User.new(:id =>
|
94
|
-
expect(user.profile_banner_uri(:mobile).to_s).to eq(
|
91
|
+
context 'with :mobile passed' do
|
92
|
+
it 'returns the mobile-sized image' do
|
93
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
94
|
+
expect(user.profile_banner_uri(:mobile).to_s).to eq('http://si0.twimg.com/profile_banners/7_505_382/1348266581/mobile')
|
95
95
|
end
|
96
96
|
end
|
97
|
-
context
|
98
|
-
it
|
99
|
-
user = Twitter::User.new(:id =>
|
100
|
-
expect(user.profile_banner_uri(:mobile_retina).to_s).to eq(
|
97
|
+
context 'with :mobile_retina passed' do
|
98
|
+
it 'returns the mobile retina-sized image' do
|
99
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
100
|
+
expect(user.profile_banner_uri(:mobile_retina).to_s).to eq('http://si0.twimg.com/profile_banners/7_505_382/1348266581/mobile_retina')
|
101
101
|
end
|
102
102
|
end
|
103
|
-
context
|
104
|
-
it
|
105
|
-
user = Twitter::User.new(:id =>
|
106
|
-
expect(user.profile_banner_uri(:ipad).to_s).to eq(
|
103
|
+
context 'with :ipad passed' do
|
104
|
+
it 'returns the mobile-sized image' do
|
105
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
106
|
+
expect(user.profile_banner_uri(:ipad).to_s).to eq('http://si0.twimg.com/profile_banners/7_505_382/1348266581/ipad')
|
107
107
|
end
|
108
108
|
end
|
109
|
-
context
|
110
|
-
it
|
111
|
-
user = Twitter::User.new(:id =>
|
112
|
-
expect(user.profile_banner_uri(:ipad_retina).to_s).to eq(
|
109
|
+
context 'with :ipad_retina passed' do
|
110
|
+
it 'returns the mobile retina-sized image' do
|
111
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
112
|
+
expect(user.profile_banner_uri(:ipad_retina).to_s).to eq('http://si0.twimg.com/profile_banners/7_505_382/1348266581/ipad_retina')
|
113
113
|
end
|
114
114
|
end
|
115
115
|
end
|
116
116
|
|
117
|
-
describe
|
118
|
-
it
|
119
|
-
user = Twitter::User.new(:id =>
|
117
|
+
describe '#profile_banner_uri_https' do
|
118
|
+
it 'accepts utf8 urls' do
|
119
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581©_normal.png')
|
120
120
|
expect(user.profile_banner_uri_https).to be_a Addressable::URI
|
121
121
|
end
|
122
|
-
it
|
123
|
-
user = Twitter::User.new(:id =>
|
122
|
+
it 'returns a URI when profile_banner_url is set' do
|
123
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
124
124
|
expect(user.profile_banner_uri_https).to be_a Addressable::URI
|
125
125
|
end
|
126
|
-
it
|
127
|
-
user = Twitter::User.new(:id =>
|
126
|
+
it 'returns nil when created_at is not set' do
|
127
|
+
user = Twitter::User.new(:id => 7_505_382)
|
128
128
|
expect(user.profile_banner_uri_https).to be_nil
|
129
129
|
end
|
130
|
-
it
|
131
|
-
user = Twitter::User.new(:id =>
|
132
|
-
expect(user.profile_banner_uri_https.to_s).to eq(
|
130
|
+
it 'returns the web-sized image' do
|
131
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
132
|
+
expect(user.profile_banner_uri_https.to_s).to eq('https://si0.twimg.com/profile_banners/7_505_382/1348266581/web')
|
133
133
|
end
|
134
|
-
context
|
135
|
-
it
|
136
|
-
user = Twitter::User.new(:id =>
|
137
|
-
expect(user.profile_banner_uri_https(:web_retina).to_s).to eq(
|
134
|
+
context 'with :web_retina passed' do
|
135
|
+
it 'returns the web retina-sized image' do
|
136
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
137
|
+
expect(user.profile_banner_uri_https(:web_retina).to_s).to eq('https://si0.twimg.com/profile_banners/7_505_382/1348266581/web_retina')
|
138
138
|
end
|
139
139
|
end
|
140
|
-
context
|
141
|
-
it
|
142
|
-
user = Twitter::User.new(:id =>
|
143
|
-
expect(user.profile_banner_uri_https(:mobile).to_s).to eq(
|
140
|
+
context 'with :mobile passed' do
|
141
|
+
it 'returns the mobile-sized image' do
|
142
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
143
|
+
expect(user.profile_banner_uri_https(:mobile).to_s).to eq('https://si0.twimg.com/profile_banners/7_505_382/1348266581/mobile')
|
144
144
|
end
|
145
145
|
end
|
146
|
-
context
|
147
|
-
it
|
148
|
-
user = Twitter::User.new(:id =>
|
149
|
-
expect(user.profile_banner_uri_https(:mobile_retina).to_s).to eq(
|
146
|
+
context 'with :mobile_retina passed' do
|
147
|
+
it 'returns the mobile retina-sized image' do
|
148
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
149
|
+
expect(user.profile_banner_uri_https(:mobile_retina).to_s).to eq('https://si0.twimg.com/profile_banners/7_505_382/1348266581/mobile_retina')
|
150
150
|
end
|
151
151
|
end
|
152
|
-
context
|
153
|
-
it
|
154
|
-
user = Twitter::User.new(:id =>
|
155
|
-
expect(user.profile_banner_uri_https(:ipad).to_s).to eq(
|
152
|
+
context 'with :ipad passed' do
|
153
|
+
it 'returns the mobile-sized image' do
|
154
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
155
|
+
expect(user.profile_banner_uri_https(:ipad).to_s).to eq('https://si0.twimg.com/profile_banners/7_505_382/1348266581/ipad')
|
156
156
|
end
|
157
157
|
end
|
158
|
-
context
|
159
|
-
it
|
160
|
-
user = Twitter::User.new(:id =>
|
161
|
-
expect(user.profile_banner_uri_https(:ipad_retina).to_s).to eq(
|
158
|
+
context 'with :ipad_retina passed' do
|
159
|
+
it 'returns the mobile retina-sized image' do
|
160
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
161
|
+
expect(user.profile_banner_uri_https(:ipad_retina).to_s).to eq('https://si0.twimg.com/profile_banners/7_505_382/1348266581/ipad_retina')
|
162
162
|
end
|
163
163
|
end
|
164
164
|
end
|
165
165
|
|
166
|
-
describe
|
167
|
-
it
|
168
|
-
user = Twitter::User.new(:id =>
|
166
|
+
describe '#profile_banner_uri?' do
|
167
|
+
it 'returns true when profile_banner_url is set' do
|
168
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_banner_url => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
169
169
|
expect(user.profile_banner_uri?).to be true
|
170
170
|
end
|
171
|
-
it
|
172
|
-
user = Twitter::User.new(:id =>
|
171
|
+
it 'returns false when profile_banner_url is not set' do
|
172
|
+
user = Twitter::User.new(:id => 7_505_382)
|
173
173
|
expect(user.profile_banner_uri?).to be false
|
174
174
|
end
|
175
175
|
end
|
176
176
|
|
177
|
-
describe
|
178
|
-
it
|
179
|
-
user = Twitter::User.new(:id =>
|
177
|
+
describe '#profile_image_uri' do
|
178
|
+
it 'accepts utf8 urls' do
|
179
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://si0.twimg.com/profile_images/7_505_382/1348266581©_normal.png')
|
180
180
|
expect(user.profile_image_uri).to be_a Addressable::URI
|
181
181
|
end
|
182
|
-
it
|
183
|
-
user = Twitter::User.new(:id =>
|
182
|
+
it 'returns a URI when profile_image_url_https is set' do
|
183
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
184
184
|
expect(user.profile_image_uri).to be_a Addressable::URI
|
185
185
|
end
|
186
|
-
it
|
187
|
-
user = Twitter::User.new(:id =>
|
186
|
+
it 'returns nil when created_at is not set' do
|
187
|
+
user = Twitter::User.new(:id => 7_505_382)
|
188
188
|
expect(user.profile_image_uri).to be_nil
|
189
189
|
end
|
190
|
-
it
|
191
|
-
user = Twitter::User.new(:id =>
|
192
|
-
expect(user.profile_image_uri.to_s).to eq(
|
190
|
+
it 'returns the normal-sized image' do
|
191
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
192
|
+
expect(user.profile_image_uri.to_s).to eq('http://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
193
193
|
end
|
194
|
-
context
|
195
|
-
it
|
196
|
-
user = Twitter::User.new(:id =>
|
197
|
-
expect(user.profile_image_uri(:original).to_s).to eq(
|
194
|
+
context 'with :original passed' do
|
195
|
+
it 'returns the original image' do
|
196
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
197
|
+
expect(user.profile_image_uri(:original).to_s).to eq('http://a0.twimg.com/profile_images/1759857427/image1326743606.png')
|
198
198
|
end
|
199
199
|
end
|
200
|
-
context
|
201
|
-
it
|
202
|
-
user = Twitter::User.new(:id =>
|
203
|
-
expect(user.profile_image_uri(:bigger).to_s).to eq(
|
200
|
+
context 'with :bigger passed' do
|
201
|
+
it 'returns the bigger-sized image' do
|
202
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
203
|
+
expect(user.profile_image_uri(:bigger).to_s).to eq('http://a0.twimg.com/profile_images/1759857427/image1326743606_bigger.png')
|
204
204
|
end
|
205
205
|
end
|
206
|
-
context
|
207
|
-
it
|
208
|
-
user = Twitter::User.new(:id =>
|
209
|
-
expect(user.profile_image_uri(:mini).to_s).to eq(
|
206
|
+
context 'with :mini passed' do
|
207
|
+
it 'returns the mini-sized image' do
|
208
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
209
|
+
expect(user.profile_image_uri(:mini).to_s).to eq('http://a0.twimg.com/profile_images/1759857427/image1326743606_mini.png')
|
210
210
|
end
|
211
211
|
end
|
212
|
-
context
|
213
|
-
it
|
214
|
-
user = Twitter::User.new(:id =>
|
215
|
-
expect(user.profile_image_uri(:original).to_s).to eq(
|
216
|
-
expect(user.profile_image_uri(:bigger).to_s).to eq(
|
217
|
-
expect(user.profile_image_uri(:mini).to_s).to eq(
|
212
|
+
context 'with capitalized file extension' do
|
213
|
+
it 'returns the correct image' do
|
214
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://si0.twimg.com/profile_images/67759670/DSCN2136_normal.JPG')
|
215
|
+
expect(user.profile_image_uri(:original).to_s).to eq('http://si0.twimg.com/profile_images/67759670/DSCN2136.JPG')
|
216
|
+
expect(user.profile_image_uri(:bigger).to_s).to eq('http://si0.twimg.com/profile_images/67759670/DSCN2136_bigger.JPG')
|
217
|
+
expect(user.profile_image_uri(:mini).to_s).to eq('http://si0.twimg.com/profile_images/67759670/DSCN2136_mini.JPG')
|
218
218
|
end
|
219
219
|
end
|
220
220
|
end
|
221
221
|
|
222
|
-
describe
|
223
|
-
it
|
224
|
-
user = Twitter::User.new(:id =>
|
222
|
+
describe '#profile_image_uri_https' do
|
223
|
+
it 'accepts utf8 urls' do
|
224
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://si0.twimg.com/profile_images/7_505_382/1348266581©_normal.png')
|
225
225
|
expect(user.profile_image_uri_https).to be_a Addressable::URI
|
226
226
|
end
|
227
|
-
it
|
228
|
-
user = Twitter::User.new(:id =>
|
227
|
+
it 'returns a URI when profile_image_url_https is set' do
|
228
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
229
229
|
expect(user.profile_image_uri_https).to be_a Addressable::URI
|
230
230
|
end
|
231
|
-
it
|
232
|
-
user = Twitter::User.new(:id =>
|
231
|
+
it 'returns nil when created_at is not set' do
|
232
|
+
user = Twitter::User.new(:id => 7_505_382)
|
233
233
|
expect(user.profile_image_uri_https).to be_nil
|
234
234
|
end
|
235
|
-
it
|
236
|
-
user = Twitter::User.new(:id =>
|
237
|
-
expect(user.profile_image_uri_https.to_s).to eq(
|
235
|
+
it 'returns the normal-sized image' do
|
236
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
237
|
+
expect(user.profile_image_uri_https.to_s).to eq('https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
238
238
|
end
|
239
|
-
context
|
240
|
-
it
|
241
|
-
user = Twitter::User.new(:id =>
|
242
|
-
expect(user.profile_image_uri_https(:original).to_s).to eq(
|
239
|
+
context 'with :original passed' do
|
240
|
+
it 'returns the original image' do
|
241
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
242
|
+
expect(user.profile_image_uri_https(:original).to_s).to eq('https://a0.twimg.com/profile_images/1759857427/image1326743606.png')
|
243
243
|
end
|
244
244
|
end
|
245
|
-
context
|
246
|
-
it
|
247
|
-
user = Twitter::User.new(:id =>
|
248
|
-
expect(user.profile_image_uri_https(:bigger).to_s).to eq(
|
245
|
+
context 'with :bigger passed' do
|
246
|
+
it 'returns the bigger-sized image' do
|
247
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
248
|
+
expect(user.profile_image_uri_https(:bigger).to_s).to eq('https://a0.twimg.com/profile_images/1759857427/image1326743606_bigger.png')
|
249
249
|
end
|
250
250
|
end
|
251
|
-
context
|
252
|
-
it
|
253
|
-
user = Twitter::User.new(:id =>
|
254
|
-
expect(user.profile_image_uri_https(:mini).to_s).to eq(
|
251
|
+
context 'with :mini passed' do
|
252
|
+
it 'returns the mini-sized image' do
|
253
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png')
|
254
|
+
expect(user.profile_image_uri_https(:mini).to_s).to eq('https://a0.twimg.com/profile_images/1759857427/image1326743606_mini.png')
|
255
255
|
end
|
256
256
|
end
|
257
|
-
context
|
258
|
-
it
|
259
|
-
user = Twitter::User.new(:id =>
|
260
|
-
expect(user.profile_image_uri_https(:original).to_s).to eq(
|
261
|
-
expect(user.profile_image_uri_https(:bigger).to_s).to eq(
|
262
|
-
expect(user.profile_image_uri_https(:mini).to_s).to eq(
|
257
|
+
context 'with capitalized file extension' do
|
258
|
+
it 'returns the correct image' do
|
259
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://si0.twimg.com/profile_images/67759670/DSCN2136_normal.JPG')
|
260
|
+
expect(user.profile_image_uri_https(:original).to_s).to eq('https://si0.twimg.com/profile_images/67759670/DSCN2136.JPG')
|
261
|
+
expect(user.profile_image_uri_https(:bigger).to_s).to eq('https://si0.twimg.com/profile_images/67759670/DSCN2136_bigger.JPG')
|
262
|
+
expect(user.profile_image_uri_https(:mini).to_s).to eq('https://si0.twimg.com/profile_images/67759670/DSCN2136_mini.JPG')
|
263
263
|
end
|
264
264
|
end
|
265
265
|
end
|
266
266
|
|
267
|
-
describe
|
268
|
-
it
|
269
|
-
user = Twitter::User.new(:id =>
|
267
|
+
describe '#profile_image_uri?' do
|
268
|
+
it 'returns true when profile_image_url_https is set' do
|
269
|
+
user = Twitter::User.new(:id => 7_505_382, :profile_image_url_https => 'https://si0.twimg.com/profile_banners/7_505_382/1348266581')
|
270
270
|
expect(user.profile_image_uri?).to be true
|
271
271
|
end
|
272
|
-
it
|
273
|
-
user = Twitter::User.new(:id =>
|
272
|
+
it 'returns false when profile_image_url_https is not set' do
|
273
|
+
user = Twitter::User.new(:id => 7_505_382)
|
274
274
|
expect(user.profile_image_uri?).to be false
|
275
275
|
end
|
276
276
|
end
|
277
277
|
|
278
|
-
describe
|
279
|
-
it
|
280
|
-
user = Twitter::User.new(:id =>
|
278
|
+
describe '#status' do
|
279
|
+
it 'returns a Status when status is set' do
|
280
|
+
user = Twitter::User.new(:id => 7_505_382, :status => {:id => 25_938_088_801})
|
281
281
|
expect(user.status).to be_a Twitter::Tweet
|
282
282
|
end
|
283
|
-
it
|
284
|
-
user = Twitter::User.new(:id =>
|
283
|
+
it 'returns nil when status is not set' do
|
284
|
+
user = Twitter::User.new(:id => 7_505_382)
|
285
285
|
expect(user.status).to be_nil
|
286
286
|
end
|
287
|
-
it
|
288
|
-
user = Twitter::User.new(:id =>
|
287
|
+
it 'has a user' do
|
288
|
+
user = Twitter::User.new(:id => 7_505_382, :status => {:id => 25_938_088_801})
|
289
289
|
expect(user.status.user).to be_a Twitter::User
|
290
|
-
expect(user.status.user.id).to eq(
|
290
|
+
expect(user.status.user.id).to eq(7_505_382)
|
291
291
|
end
|
292
292
|
end
|
293
293
|
|
294
|
-
describe
|
295
|
-
it
|
296
|
-
user = Twitter::User.new(:id =>
|
294
|
+
describe '#status?' do
|
295
|
+
it 'returns true when status is set' do
|
296
|
+
user = Twitter::User.new(:id => 7_505_382, :status => {:id => 25_938_088_801})
|
297
297
|
expect(user.status?).to be true
|
298
298
|
end
|
299
|
-
it
|
300
|
-
user = Twitter::User.new(:id =>
|
299
|
+
it 'returns false when status is not set' do
|
300
|
+
user = Twitter::User.new(:id => 7_505_382)
|
301
301
|
expect(user.status?).to be false
|
302
302
|
end
|
303
303
|
end
|
304
304
|
|
305
|
-
describe
|
306
|
-
it
|
307
|
-
user = Twitter::User.new(:id =>
|
305
|
+
describe '#uri' do
|
306
|
+
it 'returns the URI to the user' do
|
307
|
+
user = Twitter::User.new(:id => 7_505_382, :screen_name => 'sferik')
|
308
308
|
expect(user.uri).to be_a Addressable::URI
|
309
|
-
expect(user.uri.to_s).to eq(
|
309
|
+
expect(user.uri.to_s).to eq('https://twitter.com/sferik')
|
310
310
|
end
|
311
311
|
end
|
312
312
|
|
313
|
-
describe
|
314
|
-
it
|
315
|
-
user = Twitter::User.new(:id =>
|
313
|
+
describe '#website' do
|
314
|
+
it 'returns a URI when the url is set' do
|
315
|
+
user = Twitter::User.new(:id => 7_505_382, :url => 'https://github.com/sferik')
|
316
316
|
expect(user.website).to be_a Addressable::URI
|
317
|
-
expect(user.website.to_s).to eq(
|
317
|
+
expect(user.website.to_s).to eq('https://github.com/sferik')
|
318
318
|
end
|
319
|
-
it
|
320
|
-
user = Twitter::User.new(:id =>
|
319
|
+
it 'returns nil when the url is not set' do
|
320
|
+
user = Twitter::User.new(:id => 7_505_382)
|
321
321
|
expect(user.website).to be_nil
|
322
322
|
end
|
323
323
|
end
|
324
324
|
|
325
|
-
describe
|
326
|
-
it
|
327
|
-
user = Twitter::User.new(:id =>
|
325
|
+
describe '#website?' do
|
326
|
+
it 'returns true when the url is set' do
|
327
|
+
user = Twitter::User.new(:id => 7_505_382, :url => 'https://github.com/sferik')
|
328
328
|
expect(user.website?).to be true
|
329
329
|
end
|
330
|
-
it
|
331
|
-
user = Twitter::User.new(:id =>
|
330
|
+
it 'returns false when the url is not set' do
|
331
|
+
user = Twitter::User.new(:id => 7_505_382)
|
332
332
|
expect(user.website?).to be false
|
333
333
|
end
|
334
334
|
end
|