twitter 4.1.0 → 4.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +5 -0
- data/README.md +11 -9
- data/lib/twitter/api.rb +3 -5
- data/lib/twitter/base.rb +1 -4
- data/lib/twitter/geo/point.rb +2 -2
- data/lib/twitter/request/multipart_with_file.rb +1 -1
- data/lib/twitter/tweet.rb +9 -1
- data/lib/twitter/user.rb +2 -0
- data/lib/twitter/version.rb +1 -1
- data/spec/fixtures/status.json +1 -1
- data/spec/helper.rb +6 -0
- data/spec/twitter/action/favorite_spec.rb +6 -6
- data/spec/twitter/action/follow_spec.rb +6 -6
- data/spec/twitter/action/list_member_added_spec.rb +9 -9
- data/spec/twitter/action/mention_spec.rb +11 -11
- data/spec/twitter/action/reply_spec.rb +9 -9
- data/spec/twitter/action/retweet_spec.rb +9 -9
- data/spec/twitter/action_factory_spec.rb +7 -9
- data/spec/twitter/action_spec.rb +2 -2
- data/spec/twitter/api/account_spec.rb +38 -66
- data/spec/twitter/api/activity_spec.rb +6 -10
- data/spec/twitter/api/blocks_spec.rb +38 -83
- data/spec/twitter/api/direct_messages_spec.rb +33 -55
- data/spec/twitter/api/friendships_spec.rb +124 -266
- data/spec/twitter/api/geo_spec.rb +18 -36
- data/spec/twitter/api/help_spec.rb +15 -23
- data/spec/twitter/api/lists_spec.rb +172 -402
- data/spec/twitter/api/report_spam_spec.rb +5 -9
- data/spec/twitter/api/saved_searches_spec.rb +23 -35
- data/spec/twitter/api/search_spec.rb +15 -25
- data/spec/twitter/api/statuses_spec.rb +137 -235
- data/spec/twitter/api/trends_spec.rb +17 -29
- data/spec/twitter/api/users_spec.rb +90 -181
- data/spec/twitter/base_spec.rb +38 -40
- data/spec/twitter/basic_user_spec.rb +3 -3
- data/spec/twitter/client_spec.rb +28 -46
- data/spec/twitter/configuration_spec.rb +3 -3
- data/spec/twitter/cursor_spec.rb +16 -32
- data/spec/twitter/direct_message_spec.rb +9 -9
- data/spec/twitter/error/client_error_spec.rb +4 -12
- data/spec/twitter/error/server_error_spec.rb +2 -6
- data/spec/twitter/error_spec.rb +2 -2
- data/spec/twitter/geo/point_spec.rb +6 -6
- data/spec/twitter/geo/polygon_spec.rb +4 -4
- data/spec/twitter/geo_factory_spec.rb +3 -5
- data/spec/twitter/geo_spec.rb +4 -4
- data/spec/twitter/identifiable_spec.rb +9 -13
- data/spec/twitter/list_spec.rb +7 -7
- data/spec/twitter/media/photo_spec.rb +6 -6
- data/spec/twitter/media_factory_spec.rb +2 -4
- data/spec/twitter/oembed_spec.rb +24 -24
- data/spec/twitter/place_spec.rb +13 -13
- data/spec/twitter/rate_limit_spec.rb +16 -16
- data/spec/twitter/relationship_spec.rb +5 -5
- data/spec/twitter/saved_search_spec.rb +5 -5
- data/spec/twitter/search_results_spec.rb +21 -21
- data/spec/twitter/settings_spec.rb +2 -2
- data/spec/twitter/size_spec.rb +6 -6
- data/spec/twitter/source_user_spec.rb +3 -3
- data/spec/twitter/suggestion_spec.rb +9 -9
- data/spec/twitter/target_user_spec.rb +3 -3
- data/spec/twitter/trend_spec.rb +6 -6
- data/spec/twitter/tweet_spec.rb +69 -69
- data/spec/twitter/user_spec.rb +43 -43
- data/spec/twitter_spec.rb +12 -16
- metadata +2 -2
@@ -6,17 +6,17 @@ describe Twitter::TargetUser do
|
|
6
6
|
it "returns true when objects IDs are the same" do
|
7
7
|
saved_search = Twitter::TargetUser.new(:id => 1, :name => "foo")
|
8
8
|
other = Twitter::TargetUser.new(:id => 1, :name => "bar")
|
9
|
-
(saved_search == other).
|
9
|
+
expect(saved_search == other).to be_true
|
10
10
|
end
|
11
11
|
it "returns false when objects IDs are different" do
|
12
12
|
saved_search = Twitter::TargetUser.new(:id => 1)
|
13
13
|
other = Twitter::TargetUser.new(:id => 2)
|
14
|
-
(saved_search == other).
|
14
|
+
expect(saved_search == other).to be_false
|
15
15
|
end
|
16
16
|
it "returns false when classes are different" do
|
17
17
|
saved_search = Twitter::TargetUser.new(:id => 1)
|
18
18
|
other = Twitter::Identity.new(:id => 1)
|
19
|
-
(saved_search == other).
|
19
|
+
expect(saved_search == other).to be_false
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
data/spec/twitter/trend_spec.rb
CHANGED
@@ -6,32 +6,32 @@ describe Twitter::Trend do
|
|
6
6
|
it "returns false for empty objects" do
|
7
7
|
trend = Twitter::Trend.new
|
8
8
|
other = Twitter::Trend.new
|
9
|
-
(trend == other).
|
9
|
+
expect(trend == other).to be_false
|
10
10
|
end
|
11
11
|
it "returns true when objects names are the same" do
|
12
12
|
trend = Twitter::Trend.new(:name => "#sevenwordsaftersex", :query => "foo")
|
13
13
|
other = Twitter::Trend.new(:name => "#sevenwordsaftersex", :query => "bar")
|
14
|
-
(trend == other).
|
14
|
+
expect(trend == other).to be_true
|
15
15
|
end
|
16
16
|
it "returns false when objects names are different" do
|
17
17
|
trend = Twitter::Trend.new(:name => "#sevenwordsaftersex")
|
18
18
|
other = Twitter::Trend.new(:name => "#sixwordsaftersex")
|
19
|
-
(trend == other).
|
19
|
+
expect(trend == other).to be_false
|
20
20
|
end
|
21
21
|
it "returns false when classes are different" do
|
22
22
|
trend = Twitter::Trend.new(:name => "#sevenwordsaftersex")
|
23
23
|
other = Twitter::Base.new(:name => "#sevenwordsaftersex")
|
24
|
-
(trend == other).
|
24
|
+
expect(trend == other).to be_false
|
25
25
|
end
|
26
26
|
it "returns true when objects non-name attributes are the same" do
|
27
27
|
trend = Twitter::Trend.new(:query => "foo")
|
28
28
|
other = Twitter::Trend.new(:query => "foo")
|
29
|
-
(trend == other).
|
29
|
+
expect(trend == other).to be_true
|
30
30
|
end
|
31
31
|
it "returns false when objects non-name attributes are different" do
|
32
32
|
trend = Twitter::Trend.new(:query => "foo")
|
33
33
|
other = Twitter::Trend.new(:query => "bar")
|
34
|
-
(trend == other).
|
34
|
+
expect(trend == other).to be_false
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
data/spec/twitter/tweet_spec.rb
CHANGED
@@ -15,90 +15,90 @@ describe Twitter::Tweet do
|
|
15
15
|
it "returns true when objects IDs are the same" do
|
16
16
|
tweet = Twitter::Tweet.new(:id => 1, :text => "foo")
|
17
17
|
other = Twitter::Tweet.new(:id => 1, :text => "bar")
|
18
|
-
(tweet == other).
|
18
|
+
expect(tweet == other).to be_true
|
19
19
|
end
|
20
20
|
it "returns false when objects IDs are different" do
|
21
21
|
tweet = Twitter::Tweet.new(:id => 1)
|
22
22
|
other = Twitter::Tweet.new(:id => 2)
|
23
|
-
(tweet == other).
|
23
|
+
expect(tweet == other).to be_false
|
24
24
|
end
|
25
25
|
it "returns false when classes are different" do
|
26
26
|
tweet = Twitter::Tweet.new(:id => 1)
|
27
27
|
other = Twitter::Identity.new(:id => 1)
|
28
|
-
(tweet == other).
|
28
|
+
expect(tweet == other).to be_false
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
32
|
describe "#created_at" do
|
33
33
|
it "returns a Time when set" do
|
34
34
|
tweet = Twitter::Tweet.new(:id => 28669546014, :created_at => "Mon Jul 16 12:59:01 +0000 2007")
|
35
|
-
tweet.created_at.
|
35
|
+
expect(tweet.created_at).to be_a Time
|
36
36
|
end
|
37
37
|
it "returns nil when not set" do
|
38
38
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
39
|
-
tweet.created_at.
|
39
|
+
expect(tweet.created_at).to be_nil
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
43
|
describe "#favoriters_count" do
|
44
44
|
it "returns the count of favoriters when favoriters_count is set" do
|
45
45
|
tweet = Twitter::Tweet.new(:id => 28669546014, :favoriters_count => '1')
|
46
|
-
tweet.favoriters_count.
|
47
|
-
tweet.favoriters_count.
|
46
|
+
expect(tweet.favoriters_count).to be_an Integer
|
47
|
+
expect(tweet.favoriters_count).to eq 1
|
48
48
|
end
|
49
49
|
it "returns nil when not set" do
|
50
50
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
51
|
-
tweet.favoriters_count.
|
51
|
+
expect(tweet.favoriters_count).to be_nil
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
55
|
describe "#from_user" do
|
56
56
|
it "returns a screen name when from_user is set" do
|
57
57
|
tweet = Twitter::Tweet.new(:id => 28669546014, :from_user => 'sferik')
|
58
|
-
tweet.from_user.
|
59
|
-
tweet.from_user.
|
58
|
+
expect(tweet.from_user).to be_a String
|
59
|
+
expect(tweet.from_user).to eq "sferik"
|
60
60
|
end
|
61
61
|
it "returns a screen name when screen_name is set" do
|
62
62
|
tweet = Twitter::Tweet.new(:id => 28669546014, :user => {:id => 7505382, :screen_name => 'sferik'})
|
63
|
-
tweet.from_user.
|
64
|
-
tweet.from_user.
|
63
|
+
expect(tweet.from_user).to be_a String
|
64
|
+
expect(tweet.from_user).to eq "sferik"
|
65
65
|
end
|
66
66
|
it "returns nil when not set" do
|
67
67
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
68
|
-
tweet.from_user.
|
68
|
+
expect(tweet.from_user).to be_nil
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
72
|
describe "#full_text" do
|
73
73
|
it "returns the text of a Tweet" do
|
74
74
|
tweet = Twitter::Tweet.new(:id => 28669546014, :text => 'BOOSH')
|
75
|
-
tweet.full_text.
|
76
|
-
tweet.full_text.
|
75
|
+
expect(tweet.full_text).to be_a String
|
76
|
+
expect(tweet.full_text).to eq "BOOSH"
|
77
77
|
end
|
78
78
|
it "returns the text of a Tweet without a user" do
|
79
79
|
tweet = Twitter::Tweet.new(:id => 28669546014, :text => 'BOOSH', :retweeted_status => {:id => 28561922517, :text => 'BOOSH'})
|
80
|
-
tweet.full_text.
|
81
|
-
tweet.full_text.
|
80
|
+
expect(tweet.full_text).to be_a String
|
81
|
+
expect(tweet.full_text).to eq "BOOSH"
|
82
82
|
end
|
83
83
|
it "returns the full text of a retweeted Tweet" do
|
84
|
-
tweet = Twitter::Tweet.new(:id => 28669546014, :
|
85
|
-
tweet.full_text.
|
86
|
-
tweet.full_text.
|
84
|
+
tweet = Twitter::Tweet.new(:id => 28669546014, :text => 'RT @sferik: BOOSH', :retweeted_status => {:id => 28561922516, :text => 'BOOSH'})
|
85
|
+
expect(tweet.full_text).to be_a String
|
86
|
+
expect(tweet.full_text).to eq "RT @sferik: BOOSH"
|
87
87
|
end
|
88
88
|
it "returns nil when retweeted_status is not set" do
|
89
89
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
90
|
-
tweet.full_text.
|
90
|
+
expect(tweet.full_text).to be_nil
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
94
|
describe "#geo" do
|
95
95
|
it "returns a Twitter::Geo::Point when set" do
|
96
96
|
tweet = Twitter::Tweet.new(:id => 28669546014, :geo => {:id => 1, :type => 'Point'})
|
97
|
-
tweet.geo.
|
97
|
+
expect(tweet.geo).to be_a Twitter::Geo::Point
|
98
98
|
end
|
99
99
|
it "returns nil when not set" do
|
100
100
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
101
|
-
tweet.geo.
|
101
|
+
expect(tweet.geo).to be_nil
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
@@ -111,126 +111,126 @@ describe Twitter::Tweet do
|
|
111
111
|
}
|
112
112
|
]
|
113
113
|
hashtags = Twitter::Tweet.new(:id => 28669546014, :entities => {:hashtags => hashtags_hash}).hashtags
|
114
|
-
hashtags.
|
115
|
-
hashtags.first.
|
116
|
-
hashtags.first.indices.
|
117
|
-
hashtags.first.text.
|
114
|
+
expect(hashtags).to be_an Array
|
115
|
+
expect(hashtags.first).to be_a Twitter::Entity::Hashtag
|
116
|
+
expect(hashtags.first.indices).to eq [10, 33]
|
117
|
+
expect(hashtags.first.text).to eq 'twitter'
|
118
118
|
end
|
119
119
|
it "is empty when not set" do
|
120
120
|
hashtags = Twitter::Tweet.new(:id => 28669546014).hashtags
|
121
|
-
hashtags.
|
121
|
+
expect(hashtags).to be_empty
|
122
122
|
end
|
123
123
|
it "warns when not set" do
|
124
124
|
Twitter::Tweet.new(:id => 28669546014).hashtags
|
125
|
-
$stderr.string.
|
125
|
+
expect($stderr.string).to match /To get hashtags, you must pass `:include_entities => true` when requesting the Twitter::Tweet\./
|
126
126
|
end
|
127
127
|
end
|
128
128
|
|
129
129
|
describe "#media" do
|
130
130
|
it "returns media" do
|
131
131
|
media = Twitter::Tweet.new(:id => 28669546014, :entities => {:media => [{:id => 1, :type => 'photo'}]}).media
|
132
|
-
media.
|
133
|
-
media.first.
|
132
|
+
expect(media).to be_an Array
|
133
|
+
expect(media.first).to be_a Twitter::Media::Photo
|
134
134
|
end
|
135
135
|
it "is empty when not set" do
|
136
136
|
media = Twitter::Tweet.new(:id => 28669546014).media
|
137
|
-
media.
|
137
|
+
expect(media).to be_empty
|
138
138
|
end
|
139
139
|
it "warns when not set" do
|
140
140
|
Twitter::Tweet.new(:id => 28669546014).media
|
141
|
-
$stderr.string.
|
141
|
+
expect($stderr.string).to match /To get media, you must pass `:include_entities => true` when requesting the Twitter::Tweet\./
|
142
142
|
end
|
143
143
|
end
|
144
144
|
|
145
145
|
describe "#metadata" do
|
146
146
|
it "returns a User when user is set" do
|
147
147
|
metadata = Twitter::Tweet.new(:id => 28669546014, :metadata => {}).metadata
|
148
|
-
metadata.
|
148
|
+
expect(metadata).to be_a Twitter::Metadata
|
149
149
|
end
|
150
150
|
it "returns nil when user is not set" do
|
151
151
|
metadata = Twitter::Tweet.new(:id => 28669546014).metadata
|
152
|
-
metadata.
|
152
|
+
expect(metadata).to be_nil
|
153
153
|
end
|
154
154
|
end
|
155
155
|
|
156
156
|
describe "#place" do
|
157
157
|
it "returns a Twitter::Place when set" do
|
158
158
|
tweet = Twitter::Tweet.new(:id => 28669546014, :place => {:id => "247f43d441defc03"})
|
159
|
-
tweet.place.
|
159
|
+
expect(tweet.place).to be_a Twitter::Place
|
160
160
|
end
|
161
161
|
it "returns nil when not set" do
|
162
162
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
163
|
-
tweet.place.
|
163
|
+
expect(tweet.place).to be_nil
|
164
164
|
end
|
165
165
|
end
|
166
166
|
|
167
167
|
describe "#repliers_count" do
|
168
168
|
it "returns the count of favoriters when repliers_count is set" do
|
169
169
|
tweet = Twitter::Tweet.new(:id => 28669546014, :repliers_count => '1')
|
170
|
-
tweet.repliers_count.
|
171
|
-
tweet.repliers_count.
|
170
|
+
expect(tweet.repliers_count).to be_an Integer
|
171
|
+
expect(tweet.repliers_count).to eq 1
|
172
172
|
end
|
173
173
|
it "returns nil when not set" do
|
174
174
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
175
|
-
tweet.repliers_count.
|
175
|
+
expect(tweet.repliers_count).to be_nil
|
176
176
|
end
|
177
177
|
end
|
178
178
|
|
179
179
|
describe "#reply?" do
|
180
180
|
it "returns true when there is an in-reply-to status" do
|
181
181
|
tweet = Twitter::Tweet.new(:id => 28669546014, :in_reply_to_status_id => 114749583439036416)
|
182
|
-
tweet.reply
|
182
|
+
expect(tweet.reply?).to be_true
|
183
183
|
end
|
184
184
|
it "returns false when in_reply_to_status_id is not set" do
|
185
185
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
186
|
-
tweet.reply
|
186
|
+
expect(tweet.reply?).to be_false
|
187
187
|
end
|
188
188
|
end
|
189
189
|
|
190
190
|
describe "#retweet?" do
|
191
191
|
it "returns true when there is a retweeted status" do
|
192
192
|
tweet = Twitter::Tweet.new(:id => 28669546014, :retweeted_status => {:id => 28561922516, :text => 'BOOSH'})
|
193
|
-
tweet.retweet
|
193
|
+
expect(tweet.retweet?).to be_true
|
194
194
|
end
|
195
195
|
it "returns false when retweeted_status is not set" do
|
196
196
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
197
|
-
tweet.retweet
|
197
|
+
expect(tweet.retweet?).to be_false
|
198
198
|
end
|
199
199
|
end
|
200
200
|
|
201
201
|
describe "#retweeted_status" do
|
202
202
|
it "has text when retweeted_status is set" do
|
203
203
|
tweet = Twitter::Tweet.new(:id => 28669546014, :retweeted_status => {:id => 28561922516, :text => 'BOOSH'})
|
204
|
-
tweet.retweeted_tweet.
|
205
|
-
tweet.retweeted_tweet.text.
|
204
|
+
expect(tweet.retweeted_tweet).to be_a Twitter::Tweet
|
205
|
+
expect(tweet.retweeted_tweet.text).to eq 'BOOSH'
|
206
206
|
end
|
207
207
|
it "returns nil when retweeted_status is not set" do
|
208
208
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
209
|
-
tweet.retweeted_tweet.
|
209
|
+
expect(tweet.retweeted_tweet).to be_nil
|
210
210
|
end
|
211
211
|
end
|
212
212
|
|
213
213
|
describe "#retweeters_count" do
|
214
214
|
it "returns the count of favoriters when retweet_count is set" do
|
215
215
|
tweet = Twitter::Tweet.new(:id => 28669546014, :retweet_count => '1')
|
216
|
-
tweet.retweeters_count.
|
217
|
-
tweet.retweeters_count.
|
216
|
+
expect(tweet.retweeters_count).to be_an Integer
|
217
|
+
expect(tweet.retweeters_count).to eq 1
|
218
218
|
end
|
219
219
|
it "returns the count of favoriters when retweeters_count is set" do
|
220
220
|
tweet = Twitter::Tweet.new(:id => 28669546014, :retweeters_count => '1')
|
221
|
-
tweet.retweeters_count.
|
222
|
-
tweet.retweeters_count.
|
221
|
+
expect(tweet.retweeters_count).to be_an Integer
|
222
|
+
expect(tweet.retweeters_count).to eq 1
|
223
223
|
end
|
224
224
|
it "returns nil when not set" do
|
225
225
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
226
|
-
tweet.retweeters_count.
|
226
|
+
expect(tweet.retweeters_count).to be_nil
|
227
227
|
end
|
228
228
|
end
|
229
229
|
|
230
230
|
describe "#entities?" do
|
231
231
|
it "returns false if there are no entities set" do
|
232
232
|
tweet = Twitter::Tweet.new(:id => 28669546014)
|
233
|
-
tweet.entities
|
233
|
+
expect(tweet.entities?).to be_false
|
234
234
|
end
|
235
235
|
|
236
236
|
it "returns true if there are entities set" do
|
@@ -243,7 +243,7 @@ describe Twitter::Tweet do
|
|
243
243
|
}
|
244
244
|
]
|
245
245
|
tweet = Twitter::Tweet.new(:id => 28669546014, :entities => {:urls => urls_hash})
|
246
|
-
tweet.entities
|
246
|
+
expect(tweet.entities?).to be_true
|
247
247
|
end
|
248
248
|
end
|
249
249
|
|
@@ -258,33 +258,33 @@ describe Twitter::Tweet do
|
|
258
258
|
}
|
259
259
|
]
|
260
260
|
urls = Twitter::Tweet.new(:id => 28669546014, :entities => {:urls => urls_hash}).urls
|
261
|
-
urls.
|
262
|
-
urls.first.
|
263
|
-
urls.first.indices.
|
264
|
-
urls.first.display_url.
|
261
|
+
expect(urls).to be_an Array
|
262
|
+
expect(urls.first).to be_a Twitter::Entity::Url
|
263
|
+
expect(urls.first.indices).to eq [10, 33]
|
264
|
+
expect(urls.first.display_url).to eq 'example.com/expanded'
|
265
265
|
end
|
266
266
|
it "is empty when not set" do
|
267
267
|
urls = Twitter::Tweet.new(:id => 28669546014).urls
|
268
|
-
urls.
|
268
|
+
expect(urls).to be_empty
|
269
269
|
end
|
270
270
|
it "warns when not set" do
|
271
271
|
Twitter::Tweet.new(:id => 28669546014).urls
|
272
|
-
$stderr.string.
|
272
|
+
expect($stderr.string).to match /To get urls, you must pass `:include_entities => true` when requesting the Twitter::Tweet\./
|
273
273
|
end
|
274
274
|
end
|
275
275
|
|
276
276
|
describe "#user" do
|
277
277
|
it "returns a User when user is set" do
|
278
278
|
user = Twitter::Tweet.new(:id => 28669546014, :user => {:id => 7505382}).user
|
279
|
-
user.
|
279
|
+
expect(user).to be_a Twitter::User
|
280
280
|
end
|
281
281
|
it "returns nil when user is not set" do
|
282
282
|
user = Twitter::Tweet.new(:id => 28669546014).user
|
283
|
-
user.
|
283
|
+
expect(user).to be_nil
|
284
284
|
end
|
285
285
|
it "has a status when status is set" do
|
286
286
|
user = Twitter::Tweet.new(:id => 28669546014, :text => 'Tweet text.', :user => {:id => 7505382}).user
|
287
|
-
user.status.
|
287
|
+
expect(user.status).to be_a Twitter::Tweet
|
288
288
|
end
|
289
289
|
end
|
290
290
|
|
@@ -300,18 +300,18 @@ describe Twitter::Tweet do
|
|
300
300
|
}
|
301
301
|
]
|
302
302
|
user_mentions = Twitter::Tweet.new(:id => 28669546014, :entities => {:user_mentions => user_mentions_hash}).user_mentions
|
303
|
-
user_mentions.
|
304
|
-
user_mentions.first.
|
305
|
-
user_mentions.first.indices.
|
306
|
-
user_mentions.first.id.
|
303
|
+
expect(user_mentions).to be_an Array
|
304
|
+
expect(user_mentions.first).to be_a Twitter::Entity::UserMention
|
305
|
+
expect(user_mentions.first.indices).to eq [0, 6]
|
306
|
+
expect(user_mentions.first.id).to eq 7505382
|
307
307
|
end
|
308
308
|
it "is empty when not set" do
|
309
309
|
user_mentions = Twitter::Tweet.new(:id => 28669546014).user_mentions
|
310
|
-
user_mentions.
|
310
|
+
expect(user_mentions).to be_empty
|
311
311
|
end
|
312
312
|
it "warns when not set" do
|
313
313
|
Twitter::Tweet.new(:id => 28669546014).user_mentions
|
314
|
-
$stderr.string.
|
314
|
+
expect($stderr.string).to match /To get user mentions, you must pass `:include_entities => true` when requesting the Twitter::Tweet\./
|
315
315
|
end
|
316
316
|
end
|
317
317
|
|
data/spec/twitter/user_spec.rb
CHANGED
@@ -6,72 +6,72 @@ describe Twitter::User do
|
|
6
6
|
it "returns true when objects IDs are the same" do
|
7
7
|
user = Twitter::User.new(:id => 1, :screen_name => "foo")
|
8
8
|
other = Twitter::User.new(:id => 1, :screen_name => "bar")
|
9
|
-
(user == other).
|
9
|
+
expect(user == other).to be_true
|
10
10
|
end
|
11
11
|
it "returns false when objects IDs are different" do
|
12
12
|
user = Twitter::User.new(:id => 1)
|
13
13
|
other = Twitter::User.new(:id => 2)
|
14
|
-
(user == other).
|
14
|
+
expect(user == other).to be_false
|
15
15
|
end
|
16
16
|
it "returns false when classes are different" do
|
17
17
|
user = Twitter::User.new(:id => 1)
|
18
18
|
other = Twitter::Identity.new(:id => 1)
|
19
|
-
(user == other).
|
19
|
+
expect(user == other).to be_false
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
23
|
describe "#created_at" do
|
24
24
|
it "returns a Time when created_at is set" do
|
25
25
|
user = Twitter::User.new(:id => 7505382, :created_at => "Mon Jul 16 12:59:01 +0000 2007")
|
26
|
-
user.created_at.
|
26
|
+
expect(user.created_at).to be_a Time
|
27
27
|
end
|
28
28
|
it "returns nil when created_at is not set" do
|
29
29
|
user = Twitter::User.new(:id => 7505382)
|
30
|
-
user.created_at.
|
30
|
+
expect(user.created_at).to be_nil
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
34
|
describe "#profile_banner_url" do
|
35
35
|
it "returns a String when profile_banner_url is set" do
|
36
36
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
37
|
-
user.profile_banner_url.
|
37
|
+
expect(user.profile_banner_url).to be_a String
|
38
38
|
end
|
39
39
|
it "returns nil when created_at is not set" do
|
40
40
|
user = Twitter::User.new(:id => 7505382)
|
41
|
-
user.profile_banner_url.
|
41
|
+
expect(user.profile_banner_url).to be_nil
|
42
42
|
end
|
43
43
|
it "returns the web-sized image" do
|
44
44
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
45
|
-
user.profile_banner_url.
|
45
|
+
expect(user.profile_banner_url).to eq "http://si0.twimg.com/profile_banners/7505382/1348266581/web"
|
46
46
|
end
|
47
47
|
context "with :web_retina passed" do
|
48
48
|
it "returns the web retina-sized image" do
|
49
49
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
50
|
-
user.profile_banner_url(:web_retina).
|
50
|
+
expect(user.profile_banner_url(:web_retina)).to eq "http://si0.twimg.com/profile_banners/7505382/1348266581/web_retina"
|
51
51
|
end
|
52
52
|
end
|
53
53
|
context "with :mobile passed" do
|
54
54
|
it "returns the mobile-sized image" do
|
55
55
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
56
|
-
user.profile_banner_url(:mobile).
|
56
|
+
expect(user.profile_banner_url(:mobile)).to eq "http://si0.twimg.com/profile_banners/7505382/1348266581/mobile"
|
57
57
|
end
|
58
58
|
end
|
59
59
|
context "with :mobile_retina passed" do
|
60
60
|
it "returns the mobile retina-sized image" do
|
61
61
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
62
|
-
user.profile_banner_url(:mobile_retina).
|
62
|
+
expect(user.profile_banner_url(:mobile_retina)).to eq "http://si0.twimg.com/profile_banners/7505382/1348266581/mobile_retina"
|
63
63
|
end
|
64
64
|
end
|
65
65
|
context "with :ipad passed" do
|
66
66
|
it "returns the mobile-sized image" do
|
67
67
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
68
|
-
user.profile_banner_url(:ipad).
|
68
|
+
expect(user.profile_banner_url(:ipad)).to eq "http://si0.twimg.com/profile_banners/7505382/1348266581/ipad"
|
69
69
|
end
|
70
70
|
end
|
71
71
|
context "with :ipad_retina passed" do
|
72
72
|
it "returns the mobile retina-sized image" do
|
73
73
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
74
|
-
user.profile_banner_url(:ipad_retina).
|
74
|
+
expect(user.profile_banner_url(:ipad_retina)).to eq "http://si0.twimg.com/profile_banners/7505382/1348266581/ipad_retina"
|
75
75
|
end
|
76
76
|
end
|
77
77
|
end
|
@@ -79,44 +79,44 @@ describe Twitter::User do
|
|
79
79
|
describe "#profile_banner_url_https" do
|
80
80
|
it "returns a String when profile_banner_url is set" do
|
81
81
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
82
|
-
user.profile_banner_url_https.
|
82
|
+
expect(user.profile_banner_url_https).to be_a String
|
83
83
|
end
|
84
84
|
it "returns nil when created_at is not set" do
|
85
85
|
user = Twitter::User.new(:id => 7505382)
|
86
|
-
user.profile_banner_url_https.
|
86
|
+
expect(user.profile_banner_url_https).to be_nil
|
87
87
|
end
|
88
88
|
it "returns the web-sized image" do
|
89
89
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
90
|
-
user.profile_banner_url_https.
|
90
|
+
expect(user.profile_banner_url_https).to eq "https://si0.twimg.com/profile_banners/7505382/1348266581/web"
|
91
91
|
end
|
92
92
|
context "with :web_retina passed" do
|
93
93
|
it "returns the web retina-sized image" do
|
94
94
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
95
|
-
user.profile_banner_url_https(:web_retina).
|
95
|
+
expect(user.profile_banner_url_https(:web_retina)).to eq "https://si0.twimg.com/profile_banners/7505382/1348266581/web_retina"
|
96
96
|
end
|
97
97
|
end
|
98
98
|
context "with :mobile passed" do
|
99
99
|
it "returns the mobile-sized image" do
|
100
100
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
101
|
-
user.profile_banner_url_https(:mobile).
|
101
|
+
expect(user.profile_banner_url_https(:mobile)).to eq "https://si0.twimg.com/profile_banners/7505382/1348266581/mobile"
|
102
102
|
end
|
103
103
|
end
|
104
104
|
context "with :mobile_retina passed" do
|
105
105
|
it "returns the mobile retina-sized image" do
|
106
106
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
107
|
-
user.profile_banner_url_https(:mobile_retina).
|
107
|
+
expect(user.profile_banner_url_https(:mobile_retina)).to eq "https://si0.twimg.com/profile_banners/7505382/1348266581/mobile_retina"
|
108
108
|
end
|
109
109
|
end
|
110
110
|
context "with :ipad passed" do
|
111
111
|
it "returns the mobile-sized image" do
|
112
112
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
113
|
-
user.profile_banner_url_https(:ipad).
|
113
|
+
expect(user.profile_banner_url_https(:ipad)).to eq "https://si0.twimg.com/profile_banners/7505382/1348266581/ipad"
|
114
114
|
end
|
115
115
|
end
|
116
116
|
context "with :ipad_retina passed" do
|
117
117
|
it "returns the mobile retina-sized image" do
|
118
118
|
user = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581")
|
119
|
-
user.profile_banner_url_https(:ipad_retina).
|
119
|
+
expect(user.profile_banner_url_https(:ipad_retina)).to eq "https://si0.twimg.com/profile_banners/7505382/1348266581/ipad_retina"
|
120
120
|
end
|
121
121
|
end
|
122
122
|
end
|
@@ -124,43 +124,43 @@ describe Twitter::User do
|
|
124
124
|
describe "#profile_banner_url?" do
|
125
125
|
it "returns true when profile_banner_url is set" do
|
126
126
|
profile_banner_url = Twitter::User.new(:id => 7505382, :profile_banner_url => "https://si0.twimg.com/profile_banners/7505382/1348266581").profile_banner_url?
|
127
|
-
profile_banner_url.
|
127
|
+
expect(profile_banner_url).to be_true
|
128
128
|
end
|
129
129
|
it "returns false when status is not set" do
|
130
130
|
profile_banner_url = Twitter::User.new(:id => 7505382).profile_banner_url?
|
131
|
-
profile_banner_url.
|
131
|
+
expect(profile_banner_url).to be_false
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
135
135
|
describe "#profile_image_url" do
|
136
136
|
it "returns a String when profile_image_url_https is set" do
|
137
137
|
user = Twitter::User.new(:id => 7505382, :profile_image_url_https => "https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png")
|
138
|
-
user.profile_image_url.
|
138
|
+
expect(user.profile_image_url).to be_a String
|
139
139
|
end
|
140
140
|
it "returns nil when created_at is not set" do
|
141
141
|
user = Twitter::User.new(:id => 7505382)
|
142
|
-
user.profile_image_url.
|
142
|
+
expect(user.profile_image_url).to be_nil
|
143
143
|
end
|
144
144
|
it "returns the normal-sized image" do
|
145
145
|
user = Twitter::User.new(:id => 7505382, :profile_image_url_https => "https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png")
|
146
|
-
user.profile_image_url.
|
146
|
+
expect(user.profile_image_url).to eq "http://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png"
|
147
147
|
end
|
148
148
|
context "with :original passed" do
|
149
149
|
it "returns the original image" do
|
150
150
|
user = Twitter::User.new(:id => 7505382, :profile_image_url_https => "https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png")
|
151
|
-
user.profile_image_url(:original).
|
151
|
+
expect(user.profile_image_url(:original)).to eq "http://a0.twimg.com/profile_images/1759857427/image1326743606.png"
|
152
152
|
end
|
153
153
|
end
|
154
154
|
context "with :bigger passed" do
|
155
155
|
it "returns the bigger-sized image" do
|
156
156
|
user = Twitter::User.new(:id => 7505382, :profile_image_url_https => "https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png")
|
157
|
-
user.profile_image_url(:bigger).
|
157
|
+
expect(user.profile_image_url(:bigger)).to eq "http://a0.twimg.com/profile_images/1759857427/image1326743606_bigger.png"
|
158
158
|
end
|
159
159
|
end
|
160
160
|
context "with :mini passed" do
|
161
161
|
it "returns the mini-sized image" do
|
162
162
|
user = Twitter::User.new(:id => 7505382, :profile_image_url_https => "https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png")
|
163
|
-
user.profile_image_url(:mini).
|
163
|
+
expect(user.profile_image_url(:mini)).to eq "http://a0.twimg.com/profile_images/1759857427/image1326743606_mini.png"
|
164
164
|
end
|
165
165
|
end
|
166
166
|
end
|
@@ -168,32 +168,32 @@ describe Twitter::User do
|
|
168
168
|
describe "#profile_image_url_https" do
|
169
169
|
it "returns a String when profile_image_url_https is set" do
|
170
170
|
user = Twitter::User.new(:id => 7505382, :profile_image_url_https => "https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png")
|
171
|
-
user.profile_image_url_https.
|
171
|
+
expect(user.profile_image_url_https).to be_a String
|
172
172
|
end
|
173
173
|
it "returns nil when created_at is not set" do
|
174
174
|
user = Twitter::User.new(:id => 7505382)
|
175
|
-
user.profile_image_url_https.
|
175
|
+
expect(user.profile_image_url_https).to be_nil
|
176
176
|
end
|
177
177
|
it "returns the normal-sized image" do
|
178
178
|
user = Twitter::User.new(:id => 7505382, :profile_image_url_https => "https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png")
|
179
|
-
user.profile_image_url_https.
|
179
|
+
expect(user.profile_image_url_https).to eq "https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png"
|
180
180
|
end
|
181
181
|
context "with :original passed" do
|
182
182
|
it "returns the original image" do
|
183
183
|
user = Twitter::User.new(:id => 7505382, :profile_image_url_https => "https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png")
|
184
|
-
user.profile_image_url_https(:original).
|
184
|
+
expect(user.profile_image_url_https(:original)).to eq "https://a0.twimg.com/profile_images/1759857427/image1326743606.png"
|
185
185
|
end
|
186
186
|
end
|
187
187
|
context "with :bigger passed" do
|
188
188
|
it "returns the bigger-sized image" do
|
189
189
|
user = Twitter::User.new(:id => 7505382, :profile_image_url_https => "https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png")
|
190
|
-
user.profile_image_url_https(:bigger).
|
190
|
+
expect(user.profile_image_url_https(:bigger)).to eq "https://a0.twimg.com/profile_images/1759857427/image1326743606_bigger.png"
|
191
191
|
end
|
192
192
|
end
|
193
193
|
context "with :mini passed" do
|
194
194
|
it "returns the mini-sized image" do
|
195
195
|
user = Twitter::User.new(:id => 7505382, :profile_image_url_https => "https://a0.twimg.com/profile_images/1759857427/image1326743606_normal.png")
|
196
|
-
user.profile_image_url_https(:mini).
|
196
|
+
expect(user.profile_image_url_https(:mini)).to eq "https://a0.twimg.com/profile_images/1759857427/image1326743606_mini.png"
|
197
197
|
end
|
198
198
|
end
|
199
199
|
end
|
@@ -201,38 +201,38 @@ describe Twitter::User do
|
|
201
201
|
describe "#profile_image_url?" do
|
202
202
|
it "returns true when profile_banner_url is set" do
|
203
203
|
profile_image_url = Twitter::User.new(:id => 7505382, :profile_image_url_https => "https://si0.twimg.com/profile_banners/7505382/1348266581").profile_image_url?
|
204
|
-
profile_image_url.
|
204
|
+
expect(profile_image_url).to be_true
|
205
205
|
end
|
206
206
|
it "returns false when status is not set" do
|
207
207
|
profile_image_url= Twitter::User.new(:id => 7505382).profile_image_url?
|
208
|
-
profile_image_url.
|
208
|
+
expect(profile_image_url).to be_false
|
209
209
|
end
|
210
210
|
end
|
211
211
|
|
212
212
|
describe "#status" do
|
213
213
|
it "returns a Status when status is set" do
|
214
214
|
tweet = Twitter::User.new(:id => 7505382, :status => {:id => 25938088801}).status
|
215
|
-
tweet.
|
215
|
+
expect(tweet).to be_a Twitter::Tweet
|
216
216
|
end
|
217
217
|
it "returns nil when status is not set" do
|
218
218
|
tweet = Twitter::User.new(:id => 7505382).status
|
219
|
-
tweet.
|
219
|
+
expect(tweet).to be_nil
|
220
220
|
end
|
221
221
|
it "includes a User when user is set" do
|
222
222
|
tweet = Twitter::User.new(:id => 7505382, :screen_name => 'sferik', :status => {:id => 25938088801}).status
|
223
|
-
tweet.user.
|
224
|
-
tweet.user.id.
|
223
|
+
expect(tweet.user).to be_a Twitter::User
|
224
|
+
expect(tweet.user.id).to eq 7505382
|
225
225
|
end
|
226
226
|
end
|
227
227
|
|
228
228
|
describe "#status?" do
|
229
229
|
it "returns true when status is set" do
|
230
230
|
tweet = Twitter::User.new(:id => 7505382, :status => {:id => 25938088801}).status?
|
231
|
-
tweet.
|
231
|
+
expect(tweet).to be_true
|
232
232
|
end
|
233
233
|
it "returns false when status is not set" do
|
234
234
|
tweet = Twitter::User.new(:id => 7505382).status?
|
235
|
-
tweet.
|
235
|
+
expect(tweet).to be_false
|
236
236
|
end
|
237
237
|
end
|
238
238
|
|