twitter 4.8.1 → 5.0.0.rc.1
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/CHANGELOG.md +30 -0
- data/LICENSE.md +1 -1
- data/README.md +386 -266
- data/lib/twitter.rb +4 -39
- data/lib/twitter/arguments.rb +11 -0
- data/lib/twitter/base.rb +89 -68
- data/lib/twitter/client.rb +69 -110
- data/lib/twitter/configuration.rb +7 -3
- data/lib/twitter/creatable.rb +2 -4
- data/lib/twitter/cursor.rb +50 -42
- data/lib/twitter/direct_message.rb +2 -11
- data/lib/twitter/entity/uri.rb +13 -0
- data/lib/twitter/enumerable.rb +15 -0
- data/lib/twitter/error.rb +55 -7
- data/lib/twitter/error/already_favorited.rb +1 -1
- data/lib/twitter/error/already_posted.rb +10 -0
- data/lib/twitter/error/already_retweeted.rb +1 -1
- data/lib/twitter/error/bad_gateway.rb +2 -3
- data/lib/twitter/error/bad_request.rb +2 -2
- data/lib/twitter/error/forbidden.rb +2 -2
- data/lib/twitter/error/gateway_timeout.rb +2 -3
- data/lib/twitter/error/internal_server_error.rb +2 -3
- data/lib/twitter/error/not_acceptable.rb +2 -2
- data/lib/twitter/error/not_found.rb +2 -2
- data/lib/twitter/error/service_unavailable.rb +2 -3
- data/lib/twitter/error/too_many_requests.rb +2 -2
- data/lib/twitter/error/unauthorized.rb +2 -2
- data/lib/twitter/error/unprocessable_entity.rb +2 -2
- data/lib/twitter/factory.rb +2 -8
- data/lib/twitter/geo_factory.rb +2 -2
- data/lib/twitter/geo_results.rb +36 -0
- data/lib/twitter/identity.rb +0 -22
- data/lib/twitter/list.rb +18 -4
- data/lib/twitter/media/photo.rb +3 -3
- data/lib/twitter/media_factory.rb +2 -2
- data/lib/twitter/null_object.rb +24 -0
- data/lib/twitter/oembed.rb +3 -2
- data/lib/twitter/place.rb +15 -9
- data/lib/twitter/profile_banner.rb +5 -3
- data/lib/twitter/rate_limit.rb +1 -17
- data/lib/twitter/relationship.rb +2 -10
- data/lib/twitter/rest/api/direct_messages.rb +135 -0
- data/lib/twitter/rest/api/favorites.rb +120 -0
- data/lib/twitter/rest/api/friends_and_followers.rb +290 -0
- data/lib/twitter/rest/api/help.rb +58 -0
- data/lib/twitter/rest/api/lists.rb +491 -0
- data/lib/twitter/rest/api/oauth.rb +45 -0
- data/lib/twitter/rest/api/places_and_geo.rb +104 -0
- data/lib/twitter/rest/api/saved_searches.rb +91 -0
- data/lib/twitter/rest/api/search.rb +37 -0
- data/lib/twitter/rest/api/spam_reporting.rb +29 -0
- data/lib/twitter/rest/api/suggested_users.rb +51 -0
- data/lib/twitter/rest/api/timelines.rb +202 -0
- data/lib/twitter/rest/api/trends.rb +58 -0
- data/lib/twitter/rest/api/tweets.rb +293 -0
- data/lib/twitter/rest/api/undocumented.rb +52 -0
- data/lib/twitter/rest/api/users.rb +383 -0
- data/lib/twitter/rest/api/utils.rb +219 -0
- data/lib/twitter/rest/client.rb +193 -0
- data/lib/twitter/rest/request/multipart_with_file.rb +36 -0
- data/lib/twitter/rest/response/parse_json.rb +27 -0
- data/lib/twitter/{response → rest/response}/raise_error.rb +8 -11
- data/lib/twitter/search_results.rb +33 -21
- data/lib/twitter/settings.rb +1 -6
- data/lib/twitter/size.rb +1 -1
- data/lib/twitter/streaming/client.rb +77 -0
- data/lib/twitter/streaming/connection.rb +22 -0
- data/lib/twitter/streaming/response.rb +30 -0
- data/lib/twitter/suggestion.rb +4 -2
- data/lib/twitter/token.rb +8 -0
- data/lib/twitter/trend.rb +2 -1
- data/lib/twitter/trend_results.rb +59 -0
- data/lib/twitter/tweet.rb +41 -85
- data/lib/twitter/user.rb +51 -41
- data/lib/twitter/version.rb +4 -4
- data/spec/fixtures/already_posted.json +1 -0
- data/spec/fixtures/ids_list.json +1 -1
- data/spec/fixtures/ids_list2.json +1 -1
- data/spec/fixtures/search.json +1 -1
- data/spec/fixtures/search_malformed.json +1 -1
- data/spec/fixtures/track_streaming.json +3 -0
- data/spec/helper.rb +8 -13
- data/spec/twitter/base_spec.rb +25 -99
- data/spec/twitter/configuration_spec.rb +1 -1
- data/spec/twitter/cursor_spec.rb +13 -31
- data/spec/twitter/direct_message_spec.rb +41 -8
- data/spec/twitter/entity/uri_spec.rb +74 -0
- data/spec/twitter/error_spec.rb +59 -11
- data/spec/twitter/geo/point_spec.rb +1 -1
- data/spec/twitter/geo_factory_spec.rb +3 -3
- data/spec/twitter/geo_results_spec.rb +35 -0
- data/spec/twitter/identifiable_spec.rb +0 -21
- data/spec/twitter/list_spec.rb +51 -8
- data/spec/twitter/media/photo_spec.rb +118 -3
- data/spec/twitter/media_factory_spec.rb +2 -2
- data/spec/twitter/null_object_spec.rb +26 -0
- data/spec/twitter/oembed_spec.rb +69 -45
- data/spec/twitter/place_spec.rb +68 -12
- data/spec/twitter/profile_banner_spec.rb +1 -1
- data/spec/twitter/rate_limit_spec.rb +12 -12
- data/spec/twitter/relationship_spec.rb +31 -9
- data/spec/twitter/{api → rest/api}/direct_messages_spec.rb +22 -9
- data/spec/twitter/{api → rest/api}/favorites_spec.rb +80 -7
- data/spec/twitter/{api → rest/api}/friends_and_followers_spec.rb +104 -65
- data/spec/twitter/{api → rest/api}/geo_spec.rb +10 -10
- data/spec/twitter/{api → rest/api}/help_spec.rb +6 -6
- data/spec/twitter/{api → rest/api}/lists_spec.rb +77 -56
- data/spec/twitter/{api → rest/api}/oauth_spec.rb +6 -6
- data/spec/twitter/{api → rest/api}/saved_searches_spec.rb +7 -7
- data/spec/twitter/{api → rest/api}/search_spec.rb +8 -9
- data/spec/twitter/{api → rest/api}/spam_reporting_spec.rb +3 -3
- data/spec/twitter/{api → rest/api}/suggested_users_spec.rb +5 -5
- data/spec/twitter/{api → rest/api}/timelines_spec.rb +9 -9
- data/spec/twitter/{api → rest/api}/trends_spec.rb +6 -6
- data/spec/twitter/rest/api/tweets_spec.rb +503 -0
- data/spec/twitter/{api → rest/api}/undocumented_spec.rb +19 -45
- data/spec/twitter/{api → rest/api}/users_spec.rb +60 -35
- data/spec/twitter/rest/client_spec.rb +193 -0
- data/spec/twitter/saved_search_spec.rb +11 -0
- data/spec/twitter/search_results_spec.rb +29 -42
- data/spec/twitter/settings_spec.rb +17 -6
- data/spec/twitter/streaming/client_spec.rb +75 -0
- data/spec/twitter/token_spec.rb +16 -0
- data/spec/twitter/trend_results_spec.rb +89 -0
- data/spec/twitter/trend_spec.rb +23 -0
- data/spec/twitter/tweet_spec.rb +122 -115
- data/spec/twitter/user_spec.rb +136 -77
- data/spec/twitter_spec.rb +0 -119
- data/twitter.gemspec +8 -5
- metadata +148 -141
- metadata.gz.sig +0 -0
- data/lib/twitter/action/favorite.rb +0 -19
- data/lib/twitter/action/follow.rb +0 -30
- data/lib/twitter/action/list_member_added.rb +0 -39
- data/lib/twitter/action/mention.rb +0 -46
- data/lib/twitter/action/reply.rb +0 -27
- data/lib/twitter/action/retweet.rb +0 -27
- data/lib/twitter/action/tweet.rb +0 -20
- data/lib/twitter/action_factory.rb +0 -22
- data/lib/twitter/api/arguments.rb +0 -13
- data/lib/twitter/api/direct_messages.rb +0 -148
- data/lib/twitter/api/favorites.rb +0 -126
- data/lib/twitter/api/friends_and_followers.rb +0 -334
- data/lib/twitter/api/help.rb +0 -64
- data/lib/twitter/api/lists.rb +0 -618
- data/lib/twitter/api/oauth.rb +0 -44
- data/lib/twitter/api/places_and_geo.rb +0 -121
- data/lib/twitter/api/saved_searches.rb +0 -99
- data/lib/twitter/api/search.rb +0 -37
- data/lib/twitter/api/spam_reporting.rb +0 -30
- data/lib/twitter/api/suggested_users.rb +0 -55
- data/lib/twitter/api/timelines.rb +0 -214
- data/lib/twitter/api/trends.rb +0 -63
- data/lib/twitter/api/tweets.rb +0 -304
- data/lib/twitter/api/undocumented.rb +0 -97
- data/lib/twitter/api/users.rb +0 -439
- data/lib/twitter/api/utils.rb +0 -187
- data/lib/twitter/configurable.rb +0 -96
- data/lib/twitter/default.rb +0 -102
- data/lib/twitter/entity/url.rb +0 -9
- data/lib/twitter/error/client_error.rb +0 -35
- data/lib/twitter/error/decode_error.rb +0 -9
- data/lib/twitter/error/identity_map_key_error.rb +0 -9
- data/lib/twitter/error/server_error.rb +0 -28
- data/lib/twitter/exceptable.rb +0 -36
- data/lib/twitter/identity_map.rb +0 -22
- data/lib/twitter/request/multipart_with_file.rb +0 -34
- data/lib/twitter/response/parse_json.rb +0 -25
- data/spec/fixtures/about_me.json +0 -1
- data/spec/fixtures/activity_summary.json +0 -1
- data/spec/fixtures/bad_gateway.json +0 -1
- data/spec/fixtures/bad_request.json +0 -1
- data/spec/fixtures/by_friends.json +0 -1
- data/spec/fixtures/end_session.json +0 -1
- data/spec/fixtures/forbidden.json +0 -1
- data/spec/fixtures/internal_server_error.json +0 -1
- data/spec/fixtures/not_acceptable.json +0 -1
- data/spec/fixtures/phoenix_search.phoenix +0 -1
- data/spec/fixtures/resolve.json +0 -1
- data/spec/fixtures/service_unavailable.json +0 -1
- data/spec/fixtures/totals.json +0 -1
- data/spec/fixtures/trends.json +0 -1
- data/spec/fixtures/unauthorized.json +0 -1
- data/spec/fixtures/video_facets.json +0 -1
- data/spec/twitter/action/favorite_spec.rb +0 -29
- data/spec/twitter/action/follow_spec.rb +0 -29
- data/spec/twitter/action/list_member_added_spec.rb +0 -41
- data/spec/twitter/action/mention_spec.rb +0 -52
- data/spec/twitter/action/reply_spec.rb +0 -41
- data/spec/twitter/action/retweet_spec.rb +0 -41
- data/spec/twitter/action_factory_spec.rb +0 -35
- data/spec/twitter/action_spec.rb +0 -16
- data/spec/twitter/api/tweets_spec.rb +0 -285
- data/spec/twitter/client_spec.rb +0 -223
- data/spec/twitter/error/client_error_spec.rb +0 -23
- data/spec/twitter/error/server_error_spec.rb +0 -20
@@ -31,25 +31,58 @@ describe Twitter::DirectMessage do
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
describe "#created?" do
|
35
|
+
it "returns true when created_at is set" do
|
36
|
+
direct_message = Twitter::DirectMessage.new(:id => 1825786345, :created_at => "Mon Jul 16 12:59:01 +0000 2007")
|
37
|
+
expect(direct_message.created?).to be_true
|
38
|
+
end
|
39
|
+
it "returns false when created_at is not set" do
|
40
|
+
direct_message = Twitter::DirectMessage.new(:id => 1825786345)
|
41
|
+
expect(direct_message.created?).to be_false
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
34
45
|
describe "#recipient" do
|
35
46
|
it "returns a User when recipient is set" do
|
36
|
-
|
37
|
-
expect(recipient).to be_a Twitter::User
|
47
|
+
direct_message = Twitter::DirectMessage.new(:id => 1825786345, :recipient => {:id => 7505382})
|
48
|
+
expect(direct_message.recipient).to be_a Twitter::User
|
38
49
|
end
|
39
50
|
it "returns nil when recipient is not set" do
|
40
|
-
|
41
|
-
expect(recipient).to be_nil
|
51
|
+
direct_message = Twitter::DirectMessage.new(:id => 1825786345)
|
52
|
+
expect(direct_message.recipient).to be_nil
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "#recipient?" do
|
57
|
+
it "returns true when recipient is set" do
|
58
|
+
direct_message = Twitter::DirectMessage.new(:id => 1825786345, :recipient => {:id => 7505382})
|
59
|
+
expect(direct_message.recipient?).to be_true
|
60
|
+
end
|
61
|
+
it "returns false when recipient is not set" do
|
62
|
+
direct_message = Twitter::DirectMessage.new(:id => 1825786345)
|
63
|
+
expect(direct_message.recipient?).to be_false
|
42
64
|
end
|
43
65
|
end
|
44
66
|
|
45
67
|
describe "#sender" do
|
46
68
|
it "returns a User when sender is set" do
|
47
|
-
|
48
|
-
expect(sender).to be_a Twitter::User
|
69
|
+
direct_message = Twitter::DirectMessage.new(:id => 1825786345, :sender => {:id => 7505382})
|
70
|
+
expect(direct_message.sender).to be_a Twitter::User
|
49
71
|
end
|
50
72
|
it "returns nil when sender is not set" do
|
51
|
-
|
52
|
-
expect(sender).to be_nil
|
73
|
+
direct_message = Twitter::DirectMessage.new(:id => 1825786345)
|
74
|
+
expect(direct_message.sender).to be_nil
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe "#sender?" do
|
79
|
+
it "returns true when sender is set" do
|
80
|
+
direct_message = Twitter::DirectMessage.new(:id => 1825786345, :sender => {:id => 7505382})
|
81
|
+
expect(direct_message.sender?).to be_true
|
82
|
+
end
|
83
|
+
it "returns false when sender is not set" do
|
84
|
+
direct_message = Twitter::DirectMessage.new(:id => 1825786345)
|
85
|
+
expect(direct_message.sender?).to be_false
|
53
86
|
end
|
54
87
|
end
|
55
88
|
|
@@ -0,0 +1,74 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Twitter::Entity::URI do
|
4
|
+
|
5
|
+
describe "#display_uri" do
|
6
|
+
it "returns a URI when the display_url is set" do
|
7
|
+
uri = Twitter::Entity::URI.new(:display_url => "https://github.com/sferik")
|
8
|
+
expect(uri.display_uri).to be_a URI
|
9
|
+
expect(uri.display_uri.to_s).to eq("https://github.com/sferik")
|
10
|
+
end
|
11
|
+
it "returns nil when the display_url is not set" do
|
12
|
+
uri = Twitter::Entity::URI.new
|
13
|
+
expect(uri.display_uri).to be_nil
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "#display_uri?" do
|
18
|
+
it "returns true when the display_url is set" do
|
19
|
+
uri = Twitter::Entity::URI.new(:display_url => "https://github.com/sferik")
|
20
|
+
expect(uri.display_uri).to be_true
|
21
|
+
end
|
22
|
+
it "returns false when the display_url is not set" do
|
23
|
+
uri = Twitter::Entity::URI.new
|
24
|
+
expect(uri.display_uri).to be_false
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
describe "#expanded_uri" do
|
29
|
+
it "returns a URI when the expanded_url is set" do
|
30
|
+
uri = Twitter::Entity::URI.new(:expanded_url => "https://github.com/sferik")
|
31
|
+
expect(uri.expanded_uri).to be_a URI
|
32
|
+
expect(uri.expanded_uri.to_s).to eq("https://github.com/sferik")
|
33
|
+
end
|
34
|
+
it "returns nil when the expanded_url is not set" do
|
35
|
+
uri = Twitter::Entity::URI.new
|
36
|
+
expect(uri.expanded_uri).to be_nil
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe "#expanded_uri?" do
|
41
|
+
it "returns true when the expanded_url is set" do
|
42
|
+
uri = Twitter::Entity::URI.new(:expanded_url => "https://github.com/sferik")
|
43
|
+
expect(uri.expanded_uri).to be_true
|
44
|
+
end
|
45
|
+
it "returns false when the expanded_url is not set" do
|
46
|
+
uri = Twitter::Entity::URI.new
|
47
|
+
expect(uri.expanded_uri).to be_false
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "#uri" do
|
52
|
+
it "returns a URI when the url is set" do
|
53
|
+
uri = Twitter::Entity::URI.new(:url => "https://github.com/sferik")
|
54
|
+
expect(uri.uri).to be_a URI
|
55
|
+
expect(uri.uri.to_s).to eq("https://github.com/sferik")
|
56
|
+
end
|
57
|
+
it "returns nil when the url is not set" do
|
58
|
+
uri = Twitter::Entity::URI.new
|
59
|
+
expect(uri.uri).to be_nil
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
describe "#uri?" do
|
64
|
+
it "returns true when the url is set" do
|
65
|
+
uri = Twitter::Entity::URI.new(:url => "https://github.com/sferik")
|
66
|
+
expect(uri.uri).to be_true
|
67
|
+
end
|
68
|
+
it "returns false when the url is not set" do
|
69
|
+
uri = Twitter::Entity::URI.new
|
70
|
+
expect(uri.uri).to be_false
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
data/spec/twitter/error_spec.rb
CHANGED
@@ -2,19 +2,67 @@ require 'helper'
|
|
2
2
|
|
3
3
|
describe Twitter::Error do
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
5
|
+
before do
|
6
|
+
@client = Twitter::REST::Client.new(:consumer_key => "CK", :consumer_secret => "CS", :access_token => "AT", :access_token_secret => "AS")
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "#message" do
|
10
|
+
it "returns the message of the wrapped exception" do
|
11
|
+
error = Twitter::Error.new(Faraday::Error::ClientError.new("Oops"))
|
12
|
+
expect(error.message).to eq("Oops")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "#rate_limit" do
|
17
|
+
it "returns the wrapped exception" do
|
18
|
+
error = Twitter::Error.new(Faraday::Error::ClientError.new("Oops"))
|
19
|
+
expect(error.rate_limit).to be_a Twitter::RateLimit
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "#wrapped_exception" do
|
24
|
+
it "returns the wrapped exception" do
|
25
|
+
error = Twitter::Error.new(Faraday::Error::ClientError.new("Oops"))
|
26
|
+
expect(error.wrapped_exception.class).to eq(Faraday::Error::ClientError)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
Twitter::Error.errors.each do |status, exception|
|
31
|
+
|
32
|
+
[nil, "error", "errors"].each do |body|
|
33
|
+
context "when HTTP status is #{status} and body is #{body.inspect}" do
|
34
|
+
before do
|
35
|
+
body_message = '{"' + body + '":"Client Error"}' unless body.nil?
|
36
|
+
stub_get("/1.1/statuses/user_timeline.json").with(:query => {:screen_name => "sferik"}).to_return(:status => status, :body => body_message)
|
37
|
+
end
|
38
|
+
it "raises #{exception.name}" do
|
39
|
+
expect{@client.user_timeline("sferik")}.to raise_error exception
|
15
40
|
end
|
16
41
|
end
|
17
42
|
end
|
18
|
-
end
|
19
43
|
|
44
|
+
context "when HTTP status is #{status} and body is errors" do
|
45
|
+
context "when errors is an array of hashes" do
|
46
|
+
context "when error code is nil" do
|
47
|
+
before do
|
48
|
+
body_message = '{"errors":[{"message":"Client Error"}]}'
|
49
|
+
stub_get("/1.1/statuses/user_timeline.json").with(:query => {:screen_name => "sferik"}).to_return(:status => status, :body => body_message)
|
50
|
+
end
|
51
|
+
it "raises #{exception.name}" do
|
52
|
+
expect{@client.user_timeline("sferik")}.to raise_error{|error| expect(error.code).to be_nil}
|
53
|
+
end
|
54
|
+
context "when error code is 187" do
|
55
|
+
before do
|
56
|
+
body_message = '{"errors":[{"message":"Client Error","code":187}]}'
|
57
|
+
stub_get("/1.1/statuses/user_timeline.json").with(:query => {:screen_name => "sferik"}).to_return(:status => status, :body => body_message)
|
58
|
+
end
|
59
|
+
it "raises #{exception.name}" do
|
60
|
+
expect{@client.user_timeline("sferik")}.to raise_error{|error| expect(error.code).to eq(187)}
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
20
68
|
end
|
@@ -4,15 +4,15 @@ describe Twitter::GeoFactory do
|
|
4
4
|
|
5
5
|
describe ".new" do
|
6
6
|
it "generates a Point" do
|
7
|
-
geo = Twitter::GeoFactory.
|
7
|
+
geo = Twitter::GeoFactory.new(:type => "Point")
|
8
8
|
expect(geo).to be_a Twitter::Geo::Point
|
9
9
|
end
|
10
10
|
it "generates a Polygon" do
|
11
|
-
geo = Twitter::GeoFactory.
|
11
|
+
geo = Twitter::GeoFactory.new(:type => "Polygon")
|
12
12
|
expect(geo).to be_a Twitter::Geo::Polygon
|
13
13
|
end
|
14
14
|
it "raises an ArgumentError when type is not specified" do
|
15
|
-
expect{Twitter::GeoFactory.
|
15
|
+
expect{Twitter::GeoFactory.new}.to raise_error ArgumentError
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'helper'
|
2
|
+
|
3
|
+
describe Twitter::GeoResults do
|
4
|
+
|
5
|
+
describe "#each" do
|
6
|
+
before do
|
7
|
+
@geo_results = Twitter::GeoResults.new(:result => {:places => [{:id => 1}, {:id => 2}, {:id => 3}, {:id => 4}, {:id => 5}, {:id => 6}]})
|
8
|
+
end
|
9
|
+
it "iterates" do
|
10
|
+
count = 0
|
11
|
+
@geo_results.each{count += 1}
|
12
|
+
expect(count).to eq(6)
|
13
|
+
end
|
14
|
+
context "with start" do
|
15
|
+
it "iterates" do
|
16
|
+
count = 0
|
17
|
+
@geo_results.each(5){count += 1}
|
18
|
+
expect(count).to eq(1)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
describe "#token" do
|
24
|
+
it "returns a String when token is set" do
|
25
|
+
geo_results = Twitter::GeoResults.new(:result => {}, :token => "abc123")
|
26
|
+
expect(geo_results.token).to be_a String
|
27
|
+
expect(geo_results.token).to eq("abc123")
|
28
|
+
end
|
29
|
+
it "returns nil when token is not set" do
|
30
|
+
geo_results = Twitter::GeoResults.new(:result => {})
|
31
|
+
expect(geo_results.token).to be_nil
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
@@ -8,27 +8,6 @@ describe Twitter::Identity do
|
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
-
context "identity map enabled" do
|
12
|
-
before do
|
13
|
-
Twitter.identity_map = Twitter::IdentityMap
|
14
|
-
end
|
15
|
-
|
16
|
-
after do
|
17
|
-
Twitter.identity_map = false
|
18
|
-
end
|
19
|
-
|
20
|
-
describe ".fetch" do
|
21
|
-
it "returns existing objects" do
|
22
|
-
Twitter::Identity.store(Twitter::Identity.new(:id => 1))
|
23
|
-
expect(Twitter::Identity.fetch(:id => 1)).to be
|
24
|
-
end
|
25
|
-
|
26
|
-
it "raises an error on objects that don't exist" do
|
27
|
-
expect{Twitter::Identity.fetch(:id => 6)}.to raise_error Twitter::Error::IdentityMapKeyError
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
11
|
describe "#==" do
|
33
12
|
it "returns true when objects IDs are the same" do
|
34
13
|
one = Twitter::Identity.new(:id => 1, :screen_name => "sferik")
|
data/spec/twitter/list_spec.rb
CHANGED
@@ -22,23 +22,66 @@ describe Twitter::List do
|
|
22
22
|
|
23
23
|
describe "#created_at" do
|
24
24
|
it "returns a Time when created_at is set" do
|
25
|
-
|
26
|
-
expect(
|
25
|
+
list = Twitter::List.new(:id => 8863586, :created_at => "Mon Jul 16 12:59:01 +0000 2007")
|
26
|
+
expect(list.created_at).to be_a Time
|
27
27
|
end
|
28
28
|
it "returns nil when created_at is not set" do
|
29
|
-
|
30
|
-
expect(
|
29
|
+
list = Twitter::List.new(:id => 8863586)
|
30
|
+
expect(list.created_at).to be_nil
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "#created?" do
|
35
|
+
it "returns true when created_at is set" do
|
36
|
+
list = Twitter::List.new(:id => 8863586, :created_at => "Mon Jul 16 12:59:01 +0000 2007")
|
37
|
+
expect(list.created?).to be_true
|
38
|
+
end
|
39
|
+
it "returns false when created_at is not set" do
|
40
|
+
list = Twitter::List.new(:id => 8863586)
|
41
|
+
expect(list.created?).to be_false
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe "#members_uri" do
|
46
|
+
it "returns the URI to the list members" do
|
47
|
+
list = Twitter::List.new(:id => 8863586, :slug => "presidents", :user => {:id => 7505382, :screen_name => "sferik"})
|
48
|
+
expect(list.members_uri.to_s).to eq("https://twitter.com/sferik/presidents/members")
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
describe "#subscribers_uri" do
|
53
|
+
it "returns the URI to the list subscribers" do
|
54
|
+
list = Twitter::List.new(:id => 8863586, :slug => "presidents", :user => {:id => 7505382, :screen_name => "sferik"})
|
55
|
+
expect(list.subscribers_uri.to_s).to eq("https://twitter.com/sferik/presidents/subscribers")
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe "#uri" do
|
60
|
+
it "returns the URI to the list" do
|
61
|
+
list = Twitter::List.new(:id => 8863586, :slug => "presidents", :user => {:id => 7505382, :screen_name => "sferik"})
|
62
|
+
expect(list.uri.to_s).to eq("https://twitter.com/sferik/presidents")
|
31
63
|
end
|
32
64
|
end
|
33
65
|
|
34
66
|
describe "#user" do
|
35
67
|
it "returns a User when user is set" do
|
36
|
-
|
37
|
-
expect(user).to be_a Twitter::User
|
68
|
+
list = Twitter::List.new(:id => 8863586, :user => {:id => 7505382})
|
69
|
+
expect(list.user).to be_a Twitter::User
|
38
70
|
end
|
39
71
|
it "returns nil when status is not set" do
|
40
|
-
|
41
|
-
expect(user).to be_nil
|
72
|
+
list = Twitter::List.new(:id => 8863586)
|
73
|
+
expect(list.user).to be_nil
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
describe "#user?" do
|
78
|
+
it "returns true when user is set" do
|
79
|
+
list = Twitter::List.new(:id => 8863586, :user => {:id => 7505382})
|
80
|
+
expect(list.user?).to be_true
|
81
|
+
end
|
82
|
+
it "returns false when user is not set" do
|
83
|
+
list = Twitter::List.new(:id => 8863586)
|
84
|
+
expect(list.user?).to be_false
|
42
85
|
end
|
43
86
|
end
|
44
87
|
|
@@ -4,8 +4,8 @@ describe Twitter::Media::Photo do
|
|
4
4
|
|
5
5
|
describe "#==" do
|
6
6
|
it "returns true when objects IDs are the same" do
|
7
|
-
photo = Twitter::Media::Photo.new(:id => 1
|
8
|
-
other = Twitter::Media::Photo.new(:id => 1
|
7
|
+
photo = Twitter::Media::Photo.new(:id => 1)
|
8
|
+
other = Twitter::Media::Photo.new(:id => 1)
|
9
9
|
expect(photo == other).to be_true
|
10
10
|
end
|
11
11
|
it "returns false when objects IDs are different" do
|
@@ -22,7 +22,7 @@ describe Twitter::Media::Photo do
|
|
22
22
|
|
23
23
|
describe "#sizes" do
|
24
24
|
it "returns a hash of Sizes when sizes is set" do
|
25
|
-
sizes = Twitter::Media::Photo.new(:id => 110102452988157952, :sizes => {:small => {:h => 226, :w => 340, :resize =>
|
25
|
+
sizes = Twitter::Media::Photo.new(:id => 110102452988157952, :sizes => {:small => {:h => 226, :w => 340, :resize => "fit"}, :large => {:h => 466, :w => 700, :resize => "fit"}, :medium => {:h => 399, :w => 600, :resize => "fit"}, :thumb => {:h => 150, :w => 150, :resize => "crop"}}).sizes
|
26
26
|
expect(sizes).to be_a Hash
|
27
27
|
expect(sizes[:small]).to be_a Twitter::Size
|
28
28
|
end
|
@@ -32,4 +32,119 @@ describe Twitter::Media::Photo do
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
+
describe "#display_uri" do
|
36
|
+
it "returns a URI when the display_url is set" do
|
37
|
+
photo = Twitter::Media::Photo.new(:id => 1, :display_url => "http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
38
|
+
expect(photo.display_uri).to be_a URI
|
39
|
+
expect(photo.display_uri.to_s).to eq("http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
40
|
+
end
|
41
|
+
it "returns nil when the display_url is not set" do
|
42
|
+
photo = Twitter::Media::Photo.new(:id => 1)
|
43
|
+
expect(photo.display_uri).to be_nil
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
describe "#display_uri?" do
|
48
|
+
it "returns true when the display_url is set" do
|
49
|
+
photo = Twitter::Media::Photo.new(:id => 1, :display_url => "http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
50
|
+
expect(photo.display_uri).to be_true
|
51
|
+
end
|
52
|
+
it "returns false when the display_url is not set" do
|
53
|
+
photo = Twitter::Media::Photo.new(:id => 1)
|
54
|
+
expect(photo.display_uri).to be_false
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
58
|
+
describe "#expanded_uri" do
|
59
|
+
it "returns a URI when the expanded_url is set" do
|
60
|
+
photo = Twitter::Media::Photo.new(:id => 1, :expanded_url => "http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
61
|
+
expect(photo.expanded_uri).to be_a URI
|
62
|
+
expect(photo.expanded_uri.to_s).to eq("http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
63
|
+
end
|
64
|
+
it "returns nil when the expanded_url is not set" do
|
65
|
+
photo = Twitter::Media::Photo.new(:id => 1)
|
66
|
+
expect(photo.expanded_uri).to be_nil
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
describe "#expanded_uri?" do
|
71
|
+
it "returns true when the expanded_url is set" do
|
72
|
+
photo = Twitter::Media::Photo.new(:id => 1, :expanded_url => "http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
73
|
+
expect(photo.expanded_uri).to be_true
|
74
|
+
end
|
75
|
+
it "returns false when the expanded_url is not set" do
|
76
|
+
photo = Twitter::Media::Photo.new(:id => 1)
|
77
|
+
expect(photo.expanded_uri).to be_false
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
describe "#media_uri" do
|
82
|
+
it "returns a URI when the media_url is set" do
|
83
|
+
photo = Twitter::Media::Photo.new(:id => 1, :media_url => "http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
84
|
+
expect(photo.media_uri).to be_a URI
|
85
|
+
expect(photo.media_uri.to_s).to eq("http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
86
|
+
end
|
87
|
+
it "returns nil when the media_url is not set" do
|
88
|
+
photo = Twitter::Media::Photo.new(:id => 1)
|
89
|
+
expect(photo.media_uri).to be_nil
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
describe "#media_uri?" do
|
94
|
+
it "returns true when the media_url is set" do
|
95
|
+
photo = Twitter::Media::Photo.new(:id => 1, :media_url => "http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
96
|
+
expect(photo.media_uri).to be_true
|
97
|
+
end
|
98
|
+
it "returns false when the media_url is not set" do
|
99
|
+
photo = Twitter::Media::Photo.new(:id => 1)
|
100
|
+
expect(photo.media_uri).to be_false
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
describe "#media_uri_https" do
|
105
|
+
it "returns a URI when the media_url_https is set" do
|
106
|
+
photo = Twitter::Media::Photo.new(:id => 1, :media_url_https => "http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
107
|
+
expect(photo.media_uri_https).to be_a URI
|
108
|
+
expect(photo.media_uri_https.to_s).to eq("http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
109
|
+
end
|
110
|
+
it "returns nil when the media_url_https is not set" do
|
111
|
+
photo = Twitter::Media::Photo.new(:id => 1)
|
112
|
+
expect(photo.media_uri_https).to be_nil
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
describe "#media_uri_https?" do
|
117
|
+
it "returns true when the media_url_https is set" do
|
118
|
+
photo = Twitter::Media::Photo.new(:id => 1, :media_url_https => "http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
119
|
+
expect(photo.media_uri_https).to be_true
|
120
|
+
end
|
121
|
+
it "returns false when the media_url_https is not set" do
|
122
|
+
photo = Twitter::Media::Photo.new(:id => 1)
|
123
|
+
expect(photo.media_uri_https).to be_false
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
describe "#uri" do
|
128
|
+
it "returns a URI when the url is set" do
|
129
|
+
photo = Twitter::Media::Photo.new(:id => 1, :url => "http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
130
|
+
expect(photo.uri).to be_a URI
|
131
|
+
expect(photo.uri.to_s).to eq("http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
132
|
+
end
|
133
|
+
it "returns nil when the url is not set" do
|
134
|
+
photo = Twitter::Media::Photo.new(:id => 1)
|
135
|
+
expect(photo.uri).to be_nil
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
describe "#uri?" do
|
140
|
+
it "returns true when the url is set" do
|
141
|
+
photo = Twitter::Media::Photo.new(:id => 1, :url => "http://pbs.twimg.com/media/BQD6MPOCEAAbCH0.png")
|
142
|
+
expect(photo.uri).to be_true
|
143
|
+
end
|
144
|
+
it "returns false when the url is not set" do
|
145
|
+
photo = Twitter::Media::Photo.new(:id => 1)
|
146
|
+
expect(photo.uri).to be_false
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
35
150
|
end
|