twitter 5.1.1 → 5.2.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.
- 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
|