t 1.4.0 → 1.5.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/lib/t/printable.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module T
2
2
  module Printable
3
3
  LIST_HEADINGS = ["ID", "Created at", "Screen name", "Slug", "Members", "Subscribers", "Mode", "Description"]
4
- STATUS_HEADINGS = ["ID", "Posted at", "Screen name", "Text"]
4
+ TWEET_HEADINGS = ["ID", "Posted at", "Screen name", "Text"]
5
5
  USER_HEADINGS = ["ID", "Since", "Last tweeted at", "Tweets", "Favorites", "Listed", "Following", "Followers", "Screen name", "Name"]
6
6
  MONTH_IN_SECONDS = 2592000
7
7
 
@@ -13,7 +13,7 @@ module T
13
13
 
14
14
  def build_long_tweet(tweet)
15
15
  require 'htmlentities'
16
- [tweet.id, ls_formatted_time(tweet), "@#{tweet.from_user}", HTMLEntities.new.decode(tweet.full_text).gsub(/\n+/, ' ')]
16
+ [tweet.id, ls_formatted_time(tweet), "@#{tweet.from_user}", decode_full_text(tweet, options['decode_urls']).gsub(/\n+/, ' ')]
17
17
  end
18
18
 
19
19
  def build_long_user(user)
@@ -46,7 +46,7 @@ module T
46
46
  require 'csv'
47
47
  require 'fastercsv' unless Array.new.respond_to?(:to_csv)
48
48
  require 'htmlentities'
49
- say [tweet.id, csv_formatted_time(tweet), tweet.from_user, HTMLEntities.new.decode(tweet.full_text)].to_csv
49
+ say [tweet.id, csv_formatted_time(tweet), tweet.from_user, decode_full_text(tweet)].to_csv
50
50
  end
51
51
 
52
52
  def print_csv_user(user)
@@ -129,7 +129,7 @@ module T
129
129
  if options['csv']
130
130
  require 'csv'
131
131
  require 'fastercsv' unless Array.new.respond_to?(:to_csv)
132
- say STATUS_HEADINGS.to_csv unless tweets.empty?
132
+ say TWEET_HEADINGS.to_csv unless tweets.empty?
133
133
  tweets.each do |tweet|
134
134
  print_csv_tweet(tweet)
135
135
  end
@@ -137,11 +137,11 @@ module T
137
137
  array = tweets.map do |tweet|
138
138
  build_long_tweet(tweet)
139
139
  end
140
- format = options['format'] || STATUS_HEADINGS.size.times.map{"%s"}
141
- print_table_with_headings(array, STATUS_HEADINGS, format)
140
+ format = options['format'] || TWEET_HEADINGS.size.times.map{"%s"}
141
+ print_table_with_headings(array, TWEET_HEADINGS, format)
142
142
  else
143
143
  tweets.each do |tweet|
144
- print_message(tweet.user.screen_name, tweet.full_text)
144
+ print_message(tweet.user.screen_name, decode_urls(tweet.full_text, options['decode_urls'] ? tweet.urls : nil))
145
145
  end
146
146
  end
147
147
  end
data/lib/t/search.rb CHANGED
@@ -18,6 +18,11 @@ module T
18
18
 
19
19
  check_unknown_options!
20
20
 
21
+ class_option "host", :aliases => "-H", :type => :string, :default => T::Requestable::DEFAULT_HOST, :desc => "Twitter API server"
22
+ class_option "no-color", :aliases => "-N", :type => :boolean, :desc => "Disable colorization in output"
23
+ class_option "no-ssl", :aliases => "-U", :type => :boolean, :default => false, :desc => "Disable SSL"
24
+ class_option "profile", :aliases => "-P", :type => :string, :default => File.join(File.expand_path("~"), T::RCFile::FILE_NAME), :desc => "Path to RC file", :banner => "FILE"
25
+
21
26
  def initialize(*)
22
27
  @rcfile = T::RCFile.instance
23
28
  super
@@ -26,10 +31,12 @@ module T
26
31
  desc "all QUERY", "Returns the #{DEFAULT_NUM_RESULTS} most recent Tweets that match the specified query."
27
32
  method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format."
28
33
  method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format."
34
+ method_option "decode_urls", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form."
29
35
  method_option "number", :aliases => "-n", :type => :numeric, :default => DEFAULT_NUM_RESULTS
30
36
  def all(query)
31
- rpp = options['number'] || DEFAULT_NUM_RESULTS
32
- tweets = collect_with_rpp(rpp) do |opts|
37
+ count = options['number'] || DEFAULT_NUM_RESULTS
38
+ tweets = collect_with_count(count) do |opts|
39
+ opts[:include_entities] = 1 if options['decode_urls']
33
40
  client.search(query, opts).results
34
41
  end
35
42
  tweets.reverse! if options['reverse']
@@ -37,32 +44,34 @@ module T
37
44
  if options['csv']
38
45
  require 'csv'
39
46
  require 'fastercsv' unless Array.new.respond_to?(:to_csv)
40
- say STATUS_HEADINGS.to_csv unless tweets.empty?
47
+ say TWEET_HEADINGS.to_csv unless tweets.empty?
41
48
  tweets.each do |tweet|
42
- say [tweet.id, csv_formatted_time(tweet), tweet.from_user, HTMLEntities.new.decode(tweet.full_text)].to_csv
49
+ say [tweet.id, csv_formatted_time(tweet), tweet.from_user, decode_full_text(tweet)].to_csv
43
50
  end
44
51
  elsif options['long']
45
52
  array = tweets.map do |tweet|
46
- [tweet.id, ls_formatted_time(tweet), "@#{tweet.from_user}", HTMLEntities.new.decode(tweet.full_text).gsub(/\n+/, ' ')]
53
+ [tweet.id, ls_formatted_time(tweet), "@#{tweet.from_user}", decode_full_text(tweet, options['decode_urls']).gsub(/\n+/, ' ')]
47
54
  end
48
- format = options['format'] || STATUS_HEADINGS.size.times.map{"%s"}
49
- print_table_with_headings(array, STATUS_HEADINGS, format)
55
+ format = options['format'] || TWEET_HEADINGS.size.times.map{"%s"}
56
+ print_table_with_headings(array, TWEET_HEADINGS, format)
50
57
  else
51
58
  say unless tweets.empty?
52
59
  tweets.each do |tweet|
53
- print_message(tweet.from_user, tweet.full_text)
60
+ print_message(tweet.from_user, decode_full_text(tweet, options['decode_urls']))
54
61
  end
55
62
  end
56
63
  end
57
64
 
58
65
  desc "favorites [USER] QUERY", "Returns Tweets you've favorited that match the specified query."
59
66
  method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format."
60
- method_option "id", :aliases => "-i", :type => "boolean", :default => false, :desc => "Specify user via ID instead of screen name."
67
+ method_option "id", :aliases => "-i", :type => :boolean, :default => false, :desc => "Specify user via ID instead of screen name."
68
+ method_option "decode_urls", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form."
61
69
  method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format."
62
70
  def favorites(*args)
63
71
  opts = {:count => MAX_NUM_RESULTS}
64
72
  query = args.pop
65
73
  user = args.pop
74
+ opts[:include_entities] = 1 if options['decode_urls']
66
75
  if user
67
76
  require 't/core_ext/string'
68
77
  user = if options['id']
@@ -89,11 +98,13 @@ module T
89
98
 
90
99
  desc "list [USER/]LIST QUERY", "Returns Tweets on a list that match specified query."
91
100
  method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format."
92
- method_option "id", :aliases => "-i", :type => "boolean", :default => false, :desc => "Specify user via ID instead of screen name."
101
+ method_option "id", :aliases => "-i", :type => :boolean, :default => false, :desc => "Specify user via ID instead of screen name."
93
102
  method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format."
103
+ method_option "decode_urls", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form."
94
104
  def list(list, query)
95
105
  owner, list = extract_owner(list, options)
96
106
  opts = {:count => MAX_NUM_RESULTS}
107
+ opts[:include_entities] = 1 if options['decode_urls']
97
108
  tweets = collect_with_max_id do |max_id|
98
109
  opts[:max_id] = max_id unless max_id.nil?
99
110
  client.list_timeline(owner, list, opts)
@@ -107,8 +118,10 @@ module T
107
118
  desc "mentions QUERY", "Returns Tweets mentioning you that match the specified query."
108
119
  method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format."
109
120
  method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format."
121
+ method_option "decode_urls", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form."
110
122
  def mentions(query)
111
123
  opts = {:count => MAX_NUM_RESULTS}
124
+ opts[:include_entities] = 1 if options['decode_urls']
112
125
  tweets = collect_with_max_id do |max_id|
113
126
  opts[:max_id] = max_id unless max_id.nil?
114
127
  client.mentions(opts)
@@ -122,12 +135,14 @@ module T
122
135
 
123
136
  desc "retweets [USER] QUERY", "Returns Tweets you've retweeted that match the specified query."
124
137
  method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format."
125
- method_option "id", :aliases => "-i", :type => "boolean", :default => false, :desc => "Specify user via ID instead of screen name."
138
+ method_option "id", :aliases => "-i", :type => :boolean, :default => false, :desc => "Specify user via ID instead of screen name."
126
139
  method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format."
140
+ method_option "decode_urls", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form."
127
141
  def retweets(*args)
128
142
  opts = {:count => MAX_NUM_RESULTS}
129
143
  query = args.pop
130
144
  user = args.pop
145
+ opts[:include_entities] = 1 if options['decode_urls']
131
146
  if user
132
147
  require 't/core_ext/string'
133
148
  user = if options['id']
@@ -154,12 +169,23 @@ module T
154
169
 
155
170
  desc "timeline [USER] QUERY", "Returns Tweets in your timeline that match the specified query."
156
171
  method_option "csv", :aliases => "-c", :type => :boolean, :default => false, :desc => "Output in CSV format."
157
- method_option "id", :aliases => "-i", :type => "boolean", :default => false, :desc => "Specify user via ID instead of screen name."
172
+ method_option "exclude", :aliases => "-e", :type => :string, :enum => %w(replies retweets), :desc => "Exclude certain types of Tweets from the results.", :banner => "TYPE"
173
+ method_option "id", :aliases => "-i", :type => :boolean, :default => false, :desc => "Specify user via ID instead of screen name."
158
174
  method_option "long", :aliases => "-l", :type => :boolean, :default => false, :desc => "Output in long format."
175
+ method_option "decode_urls", :aliases => "-d", :type => :boolean, :default => false, :desc => "Decodes t.co URLs into their original form."
159
176
  def timeline(*args)
160
177
  opts = {:count => MAX_NUM_RESULTS}
161
178
  query = args.pop
162
179
  user = args.pop
180
+ opts[:include_entities] = 1 if options['decode_urls']
181
+ exclude_opts = case options['exclude']
182
+ when 'replies'
183
+ {:exclude_replies => true}
184
+ when 'retweets'
185
+ {:include_rts => false}
186
+ else
187
+ {}
188
+ end
163
189
  if user
164
190
  require 't/core_ext/string'
165
191
  user = if options['id']
@@ -169,12 +195,12 @@ module T
169
195
  end
170
196
  tweets = collect_with_max_id do |max_id|
171
197
  opts[:max_id] = max_id unless max_id.nil?
172
- client.user_timeline(user, opts)
198
+ client.user_timeline(user, opts.merge(exclude_opts))
173
199
  end
174
200
  else
175
201
  tweets = collect_with_max_id do |max_id|
176
202
  opts[:max_id] = max_id unless max_id.nil?
177
- client.home_timeline(opts)
203
+ client.home_timeline(opts.merge(exclude_opts))
178
204
  end
179
205
  end
180
206
  tweets = tweets.select do |tweet|
data/lib/t/set.rb CHANGED
@@ -8,6 +8,11 @@ module T
8
8
 
9
9
  check_unknown_options!
10
10
 
11
+ class_option "host", :aliases => "-H", :type => :string, :default => T::Requestable::DEFAULT_HOST, :desc => "Twitter API server"
12
+ class_option "no-color", :aliases => "-N", :type => :boolean, :desc => "Disable colorization in output"
13
+ class_option "no-ssl", :aliases => "-U", :type => :boolean, :default => false, :desc => "Disable SSL"
14
+ class_option "profile", :aliases => "-P", :type => :string, :default => File.join(File.expand_path("~"), T::RCFile::FILE_NAME), :desc => "Path to RC file", :banner => "FILE"
15
+
11
16
  def initialize(*)
12
17
  @rcfile = T::RCFile.instance
13
18
  super
data/lib/t/stream.rb CHANGED
@@ -5,14 +5,22 @@ require 't/rcfile'
5
5
  module T
6
6
  class Stream < Thor
7
7
  include T::Printable
8
+ include T::Utils
8
9
 
9
- STATUS_HEADINGS_FORMATTING = [
10
+ TWEET_HEADINGS_FORMATTING = [
10
11
  "%-18s", # Add padding to maximum length of a Tweet ID
11
12
  "%-12s", # Add padding to length of a timestamp formatted with ls_formatted_time
12
13
  "%-20s", # Add padding to maximum length of a Twitter screen name
13
14
  "%s", # Last element does not need special formatting
14
15
  ]
15
16
 
17
+ check_unknown_options!
18
+
19
+ class_option "host", :aliases => "-H", :type => :string, :default => T::Requestable::DEFAULT_HOST, :desc => "Twitter API server"
20
+ class_option "no-color", :aliases => "-N", :type => :boolean, :desc => "Disable colorization in output"
21
+ class_option "no-ssl", :aliases => "-U", :type => :boolean, :default => false, :desc => "Disable SSL"
22
+ class_option "profile", :aliases => "-P", :type => :string, :default => File.join(File.expand_path("~"), T::RCFile::FILE_NAME), :desc => "Path to RC file", :banner => "FILE"
23
+
16
24
  def initialize(*)
17
25
  @rcfile = T::RCFile.instance
18
26
  super
@@ -27,10 +35,10 @@ module T
27
35
  if options['csv']
28
36
  require 'csv'
29
37
  require 'fastercsv' unless Array.new.respond_to?(:to_csv)
30
- say STATUS_HEADINGS.to_csv
38
+ say TWEET_HEADINGS.to_csv
31
39
  elsif options['long'] && STDOUT.tty?
32
- headings = STATUS_HEADINGS.size.times.map do |index|
33
- STATUS_HEADINGS_FORMATTING[index] % STATUS_HEADINGS[index]
40
+ headings = TWEET_HEADINGS.size.times.map do |index|
41
+ TWEET_HEADINGS_FORMATTING[index] % TWEET_HEADINGS[index]
34
42
  end
35
43
  print_table([headings])
36
44
  end
@@ -40,7 +48,7 @@ module T
40
48
  print_csv_tweet(tweet)
41
49
  elsif options['long']
42
50
  array = build_long_tweet(tweet).each_with_index.map do |element, index|
43
- STATUS_HEADINGS_FORMATTING[index] % element
51
+ TWEET_HEADINGS_FORMATTING[index] % element
44
52
  end
45
53
  print_table([array], :truncate => STDOUT.tty?)
46
54
  else
@@ -70,7 +78,7 @@ module T
70
78
  search = T::Search.new
71
79
  search.options = search.options.merge(options)
72
80
  search.options = search.options.merge(:reverse => true)
73
- search.options = search.options.merge(:format => STATUS_HEADINGS_FORMATTING)
81
+ search.options = search.options.merge(:format => TWEET_HEADINGS_FORMATTING)
74
82
  search.all(keywords.join(' OR '))
75
83
  end
76
84
  client.on_timeline_status do |tweet|
@@ -78,7 +86,7 @@ module T
78
86
  print_csv_tweet(tweet)
79
87
  elsif options['long']
80
88
  array = build_long_tweet(tweet).each_with_index.map do |element, index|
81
- STATUS_HEADINGS_FORMATTING[index] % element
89
+ TWEET_HEADINGS_FORMATTING[index] % element
82
90
  end
83
91
  print_table([array], :truncate => STDOUT.tty?)
84
92
  else
@@ -98,7 +106,7 @@ module T
98
106
  cli = T::CLI.new
99
107
  cli.options = cli.options.merge(options)
100
108
  cli.options = cli.options.merge(:reverse => true)
101
- cli.options = cli.options.merge(:format => STATUS_HEADINGS_FORMATTING)
109
+ cli.options = cli.options.merge(:format => TWEET_HEADINGS_FORMATTING)
102
110
  cli.timeline
103
111
  end
104
112
  client.on_timeline_status do |tweet|
@@ -106,7 +114,7 @@ module T
106
114
  print_csv_tweet(tweet)
107
115
  elsif options['long']
108
116
  array = build_long_tweet(tweet).each_with_index.map do |element, index|
109
- STATUS_HEADINGS_FORMATTING[index] % element
117
+ TWEET_HEADINGS_FORMATTING[index] % element
110
118
  end
111
119
  print_table([array], :truncate => STDOUT.tty?)
112
120
  else
@@ -127,10 +135,10 @@ module T
127
135
  if options['csv']
128
136
  require 'csv'
129
137
  require 'fastercsv' unless Array.new.respond_to?(:to_csv)
130
- say STATUS_HEADINGS.to_csv
138
+ say TWEET_HEADINGS.to_csv
131
139
  elsif options['long'] && STDOUT.tty?
132
- headings = STATUS_HEADINGS.size.times.map do |index|
133
- STATUS_HEADINGS_FORMATTING[index] % STATUS_HEADINGS[index]
140
+ headings = TWEET_HEADINGS.size.times.map do |index|
141
+ TWEET_HEADINGS_FORMATTING[index] % TWEET_HEADINGS[index]
134
142
  end
135
143
  print_table([headings])
136
144
  end
@@ -140,7 +148,7 @@ module T
140
148
  print_csv_tweet(tweet)
141
149
  elsif options['long']
142
150
  array = build_long_tweet(tweet).each_with_index.map do |element, index|
143
- STATUS_HEADINGS_FORMATTING[index] % element
151
+ TWEET_HEADINGS_FORMATTING[index] % element
144
152
  end
145
153
  print_table([array], :truncate => STDOUT.tty?)
146
154
  else
data/lib/t/utils.rb CHANGED
@@ -95,5 +95,21 @@ module T
95
95
  "#{count || 0} " + ((count == 1 || count =~ /^1(\.0+)?$/) ? singular : (plural || "#{singular}s"))
96
96
  end
97
97
 
98
+ def decode_full_text(tweet, decode_full_urls = false)
99
+ text = HTMLEntities.new.decode(tweet.full_text)
100
+ text = decode_urls(text, tweet.urls) if decode_full_urls
101
+ text
102
+ end
103
+
104
+ def decode_urls(full_text, url_entities)
105
+ return full_text if url_entities.nil?
106
+
107
+ url_entities.each do |url_hash|
108
+ full_text = full_text.gsub(url_hash.url, url_hash.expanded_url)
109
+ end
110
+
111
+ full_text
112
+ end
113
+
98
114
  end
99
115
  end
data/lib/t/version.rb CHANGED
@@ -8,7 +8,7 @@ module T
8
8
 
9
9
  # @return [Integer]
10
10
  def self.minor
11
- 4
11
+ 5
12
12
  end
13
13
 
14
14
  # @return [Integer]
data/spec/cli_spec.rb CHANGED
@@ -32,7 +32,7 @@ describe T::CLI do
32
32
  before do
33
33
  @cli.options = @cli.options.merge("profile" => fixture_path + "/.trc")
34
34
  end
35
- it "should have the correct output" do
35
+ it "has the correct output" do
36
36
  @cli.accounts
37
37
  expect($stdout.string).to eq <<-eos
38
38
  testcli
@@ -48,7 +48,7 @@ testcli
48
48
  stub_post("/oauth/access_token").to_return(:body => fixture("access_token"))
49
49
  stub_get("/1.1/account/verify_credentials.json").with(:query => {:include_entities => "false", :skip_status => "true"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
50
50
  end
51
- it "should request the correct resource" do
51
+ it "requests the correct resource" do
52
52
  $stdout.should_receive(:print)
53
53
  $stdin.should_receive(:gets).and_return("\n")
54
54
  $stdout.should_receive(:print).with("Enter your consumer key: ")
@@ -64,7 +64,7 @@ testcli
64
64
  expect(a_post("/oauth/access_token")).to have_been_made
65
65
  expect(a_get("/1.1/account/verify_credentials.json").with(:query => {:include_entities => "false", :skip_status => "true"})).to have_been_made
66
66
  end
67
- it "should not raise error" do
67
+ it "does not raise error" do
68
68
  expect do
69
69
  $stdout.should_receive(:print)
70
70
  $stdin.should_receive(:gets).and_return("\n")
@@ -79,6 +79,45 @@ testcli
79
79
  @cli.authorize
80
80
  end.not_to raise_error
81
81
  end
82
+ context "empty RC file" do
83
+ before do
84
+ @cli.options = @cli.options.merge("profile" => project_path + "/tmp/empty", "display-url" => true)
85
+ end
86
+ after do
87
+ File.delete(project_path + "/tmp/empty")
88
+ end
89
+ it "requests the correct resource" do
90
+ $stdout.should_receive(:print)
91
+ $stdin.should_receive(:gets).and_return("\n")
92
+ $stdout.should_receive(:print).with("Enter your consumer key: ")
93
+ $stdin.should_receive(:gets).and_return("abc123")
94
+ $stdout.should_receive(:print).with("Enter your consumer secret: ")
95
+ $stdin.should_receive(:gets).and_return("asdfasd223sd2")
96
+ $stdout.should_receive(:print).with("Press [Enter] to open the Twitter app authorization page. ")
97
+ $stdin.should_receive(:gets).and_return("\n")
98
+ $stdout.should_receive(:print).with("Enter the supplied PIN: ")
99
+ $stdin.should_receive(:gets).and_return("1234567890")
100
+ @cli.authorize
101
+ expect(a_post("/oauth/request_token")).to have_been_made
102
+ expect(a_post("/oauth/access_token")).to have_been_made
103
+ expect(a_get("/1.1/account/verify_credentials.json").with(:query => {:include_entities => "false", :skip_status => "true"})).to have_been_made
104
+ end
105
+ it "does not raise error" do
106
+ expect do
107
+ $stdout.should_receive(:print)
108
+ $stdin.should_receive(:gets).and_return("\n")
109
+ $stdout.should_receive(:print).with("Enter your consumer key: ")
110
+ $stdin.should_receive(:gets).and_return("abc123")
111
+ $stdout.should_receive(:print).with("Enter your consumer secret: ")
112
+ $stdin.should_receive(:gets).and_return("asdfasd223sd2")
113
+ $stdout.should_receive(:print).with("Press [Enter] to open the Twitter app authorization page. ")
114
+ $stdin.should_receive(:gets).and_return("\n")
115
+ $stdout.should_receive(:print).with("Enter the supplied PIN: ")
116
+ $stdin.should_receive(:gets).and_return("1234567890")
117
+ @cli.authorize
118
+ end.not_to raise_error
119
+ end
120
+ end
82
121
  end
83
122
 
84
123
  describe "#block" do
@@ -86,11 +125,11 @@ testcli
86
125
  @cli.options = @cli.options.merge("profile" => fixture_path + "/.trc")
87
126
  stub_post("/1.1/blocks/create.json").with(:body => {:screen_name => "sferik"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
88
127
  end
89
- it "should request the correct resource" do
128
+ it "requests the correct resource" do
90
129
  @cli.block("sferik")
91
130
  expect(a_post("/1.1/blocks/create.json").with(:body => {:screen_name => "sferik"})).to have_been_made
92
131
  end
93
- it "should have the correct output" do
132
+ it "has the correct output" do
94
133
  @cli.block("sferik")
95
134
  expect($stdout.string).to match /^@testcli blocked 1 user/
96
135
  end
@@ -99,7 +138,7 @@ testcli
99
138
  @cli.options = @cli.options.merge("id" => true)
100
139
  stub_post("/1.1/blocks/create.json").with(:body => {:user_id => "7505382"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
101
140
  end
102
- it "should request the correct resource" do
141
+ it "requests the correct resource" do
103
142
  @cli.block("7505382")
104
143
  expect(a_post("/1.1/blocks/create.json").with(:body => {:user_id => "7505382"})).to have_been_made
105
144
  end
@@ -109,13 +148,13 @@ testcli
109
148
  describe "#direct_messages" do
110
149
  before do
111
150
  stub_get("/1.1/direct_messages.json").with(:query => {:count => "20"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
112
- stub_get("/1.1/direct_messages.json").with(:query => {:count => "10", "max_id"=>"1624782205"}).to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
151
+ stub_get("/1.1/direct_messages.json").with(:query => {:count => "10", "max_id" => "1624782205"}).to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
113
152
  end
114
- it "should request the correct resource" do
153
+ it "requests the correct resource" do
115
154
  @cli.direct_messages
116
155
  expect(a_get("/1.1/direct_messages.json").with(:query => {:count => "20"})).to have_been_made
117
156
  end
118
- it "should have the correct output" do
157
+ it "has the correct output" do
119
158
  @cli.direct_messages
120
159
  expect($stdout.string).to eq <<-eos
121
160
  \e[1m\e[33m @sferik\e[0m
@@ -160,7 +199,7 @@ testcli
160
199
  before do
161
200
  @cli.options = @cli.options.merge("csv" => true)
162
201
  end
163
- it "should output in CSV format" do
202
+ it "outputs in CSV format" do
164
203
  @cli.direct_messages
165
204
  expect($stdout.string).to eq <<-eos
166
205
  ID,Posted at,Screen name,Text
@@ -181,7 +220,7 @@ ID,Posted at,Screen name,Text
181
220
  before do
182
221
  @cli.options = @cli.options.merge("long" => true)
183
222
  end
184
- it "should output in long format" do
223
+ it "outputs in long format" do
185
224
  @cli.direct_messages
186
225
  expect($stdout.string).to eq <<-eos
187
226
  ID Posted at Screen name Text
@@ -201,32 +240,26 @@ ID Posted at Screen name Text
201
240
  context "--number" do
202
241
  before do
203
242
  stub_get("/1.1/direct_messages.json").with(:query => {:count => "1"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
204
- stub_get("/1.1/direct_messages.json").with(:query => {:count => "200"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
205
- stub_get("/1.1/direct_messages.json").with(:query => {:count => "200", :max_id => "1624782205"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
206
- (5..195).step(10).to_a.reverse.each do |count|
207
- stub_get("/1.1/direct_messages.json").with(:query => {:count => count, :max_id => "1624782205"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
208
- end
243
+ stub_get("/1.1/direct_messages.json").with(:query => {:count => "200"}).to_return(:body => fixture("200_direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
244
+ stub_get("/1.1/direct_messages.json").with(:query => {:count => "1", :max_id => "235851563443306495"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
209
245
  end
210
- it "should limit the number of results to 1" do
246
+ it "limits the number of results to 1" do
211
247
  @cli.options = @cli.options.merge("number" => 1)
212
248
  @cli.direct_messages
213
249
  expect(a_get("/1.1/direct_messages.json").with(:query => {:count => "1"})).to have_been_made
214
250
  end
215
- it "should limit the number of results to 345" do
216
- @cli.options = @cli.options.merge("number" => 345)
251
+ it "limits the number of results to 201" do
252
+ @cli.options = @cli.options.merge("number" => 201)
217
253
  @cli.direct_messages
218
254
  expect(a_get("/1.1/direct_messages.json").with(:query => {:count => "200"})).to have_been_made
219
- expect(a_get("/1.1/direct_messages.json").with(:query => {:count => "200", :max_id => "1624782205"})).to have_been_made.times(14)
220
- (5..195).step(10).to_a.reverse.each do |count|
221
- expect(a_get("/1.1/direct_messages.json").with(:query => {:count => count, :max_id => "1624782205"})).to have_been_made
222
- end
255
+ expect(a_get("/1.1/direct_messages.json").with(:query => {:count => "1", :max_id => "235851563443306495"})).to have_been_made
223
256
  end
224
257
  end
225
258
  context "--reverse" do
226
259
  before do
227
260
  @cli.options = @cli.options.merge("reverse" => true)
228
261
  end
229
- it "should reverse the order of the sort" do
262
+ it "reverses the order of the sort" do
230
263
  @cli.direct_messages
231
264
  expect($stdout.string).to eq <<-eos
232
265
  \e[1m\e[33m @sferik\e[0m
@@ -273,13 +306,13 @@ ID Posted at Screen name Text
273
306
  describe "#direct_messages_sent" do
274
307
  before do
275
308
  stub_get("/1.1/direct_messages/sent.json").with(:query => {:count => "20"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
276
- stub_get("/1.1/direct_messages/sent.json").with(:query => {:count => "10", "max_id"=>"1624782205"}).to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
309
+ stub_get("/1.1/direct_messages/sent.json").with(:query => {:count => "10", "max_id" => "1624782205"}).to_return(:body => fixture("empty_array.json"), :headers => {:content_type => "application/json; charset=utf-8"})
277
310
  end
278
- it "should request the correct resource" do
311
+ it "requests the correct resource" do
279
312
  @cli.direct_messages_sent
280
313
  expect(a_get("/1.1/direct_messages/sent.json").with(:query => {:count => "20"})).to have_been_made
281
314
  end
282
- it "should have the correct output" do
315
+ it "has the correct output" do
283
316
  @cli.direct_messages_sent
284
317
  expect($stdout.string).to eq <<-eos
285
318
  \e[1m\e[33m @hurrycane\e[0m
@@ -324,7 +357,7 @@ ID Posted at Screen name Text
324
357
  before do
325
358
  @cli.options = @cli.options.merge("csv" => true)
326
359
  end
327
- it "should output in CSV format" do
360
+ it "outputs in CSV format" do
328
361
  @cli.direct_messages_sent
329
362
  expect($stdout.string).to eq <<-eos
330
363
  ID,Posted at,Screen name,Text
@@ -345,7 +378,7 @@ ID,Posted at,Screen name,Text
345
378
  before do
346
379
  @cli.options = @cli.options.merge("long" => true)
347
380
  end
348
- it "should output in long format" do
381
+ it "outputs in long format" do
349
382
  @cli.direct_messages_sent
350
383
  expect($stdout.string).to eq <<-eos
351
384
  ID Posted at Screen name Text
@@ -365,32 +398,26 @@ ID Posted at Screen name Text
365
398
  context "--number" do
366
399
  before do
367
400
  stub_get("/1.1/direct_messages/sent.json").with(:query => {:count => "1"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
368
- stub_get("/1.1/direct_messages/sent.json").with(:query => {:count => "200"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
369
- stub_get("/1.1/direct_messages/sent.json").with(:query => {:count => "200", :max_id => "1624782205"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
370
- (5..195).step(10).to_a.reverse.each do |count|
371
- stub_get("/1.1/direct_messages/sent.json").with(:query => {:count => count, :max_id => "1624782205"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
372
- end
401
+ stub_get("/1.1/direct_messages/sent.json").with(:query => {:count => "200"}).to_return(:body => fixture("200_direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
402
+ stub_get("/1.1/direct_messages/sent.json").with(:query => {:count => "1", :max_id => "235851563443306495"}).to_return(:body => fixture("direct_messages.json"), :headers => {:content_type => "application/json; charset=utf-8"})
373
403
  end
374
- it "should limit the number of results 1" do
404
+ it "limits the number of results 1" do
375
405
  @cli.options = @cli.options.merge("number" => 1)
376
406
  @cli.direct_messages_sent
377
407
  expect(a_get("/1.1/direct_messages/sent.json").with(:query => {:count => "1"})).to have_been_made
378
408
  end
379
- it "should limit the number of results to 345" do
380
- @cli.options = @cli.options.merge("number" => 345)
409
+ it "limits the number of results to 201" do
410
+ @cli.options = @cli.options.merge("number" => 201)
381
411
  @cli.direct_messages_sent
382
412
  expect(a_get("/1.1/direct_messages/sent.json").with(:query => {:count => "200"})).to have_been_made
383
- expect(a_get("/1.1/direct_messages/sent.json").with(:query => {:count => "200", :max_id => "1624782205"})).to have_been_made.times(14)
384
- (5..195).step(10).to_a.reverse.each do |count|
385
- expect(a_get("/1.1/direct_messages/sent.json").with(:query => {:count => count, :max_id => "1624782205"})).to have_been_made
386
- end
413
+ expect(a_get("/1.1/direct_messages/sent.json").with(:query => {:count => "1", :max_id => "235851563443306495"})).to have_been_made
387
414
  end
388
415
  end
389
416
  context "--reverse" do
390
417
  before do
391
418
  @cli.options = @cli.options.merge("reverse" => true)
392
419
  end
393
- it "should reverse the order of the sort" do
420
+ it "reverses the order of the sort" do
394
421
  @cli.direct_messages_sent
395
422
  expect($stdout.string).to eq <<-eos
396
423
  \e[1m\e[33m @hurrycane\e[0m
@@ -440,13 +467,13 @@ ID Posted at Screen name Text
440
467
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
441
468
  stub_post("/1.1/users/lookup.json").with(:body => {:user_id => "213747670,428004849"}).to_return(:body => fixture("users.json"), :headers => {:content_type => "application/json; charset=utf-8"})
442
469
  end
443
- it "should request the correct resource" do
470
+ it "requests the correct resource" do
444
471
  @cli.groupies
445
472
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1"})).to have_been_made
446
473
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1"})).to have_been_made
447
474
  expect(a_post("/1.1/users/lookup.json").with(:body => {:user_id => "213747670,428004849"})).to have_been_made
448
475
  end
449
- it "should have the correct output" do
476
+ it "has the correct output" do
450
477
  @cli.groupies
451
478
  expect($stdout.string.chomp).to eq "pengwynn sferik"
452
479
  end
@@ -454,7 +481,7 @@ ID Posted at Screen name Text
454
481
  before do
455
482
  @cli.options = @cli.options.merge("csv" => true)
456
483
  end
457
- it "should output in CSV format" do
484
+ it "outputs in CSV format" do
458
485
  @cli.groupies
459
486
  expect($stdout.string).to eq <<-eos
460
487
  ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
@@ -467,7 +494,7 @@ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name
467
494
  before do
468
495
  @cli.options = @cli.options.merge("long" => true)
469
496
  end
470
- it "should output in long format" do
497
+ it "outputs in long format" do
471
498
  @cli.groupies
472
499
  expect($stdout.string).to eq <<-eos
473
500
  ID Since Last tweeted at Tweets Favorites Listed Following...
@@ -480,7 +507,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
480
507
  before do
481
508
  @cli.options = @cli.options.merge("reverse" => true)
482
509
  end
483
- it "should reverse the order of the sort" do
510
+ it "reverses the order of the sort" do
484
511
  @cli.groupies
485
512
  expect($stdout.string.chomp).to eq "sferik pengwynn"
486
513
  end
@@ -489,7 +516,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
489
516
  before do
490
517
  @cli.options = @cli.options.merge("sort" => "favorites")
491
518
  end
492
- it "should sort by number of favorites" do
519
+ it "sorts by number of favorites" do
493
520
  @cli.groupies
494
521
  expect($stdout.string.chomp).to eq "pengwynn sferik"
495
522
  end
@@ -498,7 +525,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
498
525
  before do
499
526
  @cli.options = @cli.options.merge("sort" => "followers")
500
527
  end
501
- it "should sort by number of followers" do
528
+ it "sorts by number of followers" do
502
529
  @cli.groupies
503
530
  expect($stdout.string.chomp).to eq "sferik pengwynn"
504
531
  end
@@ -507,7 +534,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
507
534
  before do
508
535
  @cli.options = @cli.options.merge("sort" => "friends")
509
536
  end
510
- it "should sort by number of friends" do
537
+ it "sorts by number of friends" do
511
538
  @cli.groupies
512
539
  expect($stdout.string.chomp).to eq "sferik pengwynn"
513
540
  end
@@ -516,7 +543,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
516
543
  before do
517
544
  @cli.options = @cli.options.merge("sort" => "listed")
518
545
  end
519
- it "should sort by number of list memberships" do
546
+ it "sorts by number of list memberships" do
520
547
  @cli.groupies
521
548
  expect($stdout.string.chomp).to eq "sferik pengwynn"
522
549
  end
@@ -525,7 +552,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
525
552
  before do
526
553
  @cli.options = @cli.options.merge("sort" => "since")
527
554
  end
528
- it "should sort by the time when Twitter acount was created" do
555
+ it "sorts by the time when Twitter acount was created" do
529
556
  @cli.groupies
530
557
  expect($stdout.string.chomp).to eq "sferik pengwynn"
531
558
  end
@@ -534,7 +561,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
534
561
  before do
535
562
  @cli.options = @cli.options.merge("sort" => "tweets")
536
563
  end
537
- it "should sort by number of Tweets" do
564
+ it "sorts by number of Tweets" do
538
565
  @cli.groupies
539
566
  expect($stdout.string.chomp).to eq "pengwynn sferik"
540
567
  end
@@ -543,7 +570,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
543
570
  before do
544
571
  @cli.options = @cli.options.merge("sort" => "tweeted")
545
572
  end
546
- it "should sort by the time of the last Tweet" do
573
+ it "sorts by the time of the last Tweet" do
547
574
  @cli.groupies
548
575
  expect($stdout.string.chomp).to eq "pengwynn sferik"
549
576
  end
@@ -552,7 +579,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
552
579
  before do
553
580
  @cli.options = @cli.options.merge("unsorted" => true)
554
581
  end
555
- it "should not be sorted" do
582
+ it "is not sorted" do
556
583
  @cli.groupies
557
584
  expect($stdout.string.chomp).to eq "pengwynn sferik"
558
585
  end
@@ -562,7 +589,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
562
589
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("followers_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
563
590
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
564
591
  end
565
- it "should request the correct resource" do
592
+ it "requests the correct resource" do
566
593
  @cli.groupies("sferik")
567
594
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
568
595
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
@@ -574,7 +601,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
574
601
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"}).to_return(:body => fixture("followers_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
575
602
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
576
603
  end
577
- it "should request the correct resource" do
604
+ it "requests the correct resource" do
578
605
  @cli.groupies("7505382")
579
606
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
580
607
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
@@ -589,11 +616,11 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
589
616
  @cli.options = @cli.options.merge("profile" => fixture_path + "/.trc")
590
617
  stub_post("/1.1/direct_messages/new.json").with(:body => {:screen_name => "pengwynn", :text => "Creating a fixture for the Twitter gem"}).to_return(:body => fixture("direct_message.json"), :headers => {:content_type => "application/json; charset=utf-8"})
591
618
  end
592
- it "should request the correct resource" do
619
+ it "requests the correct resource" do
593
620
  @cli.dm("pengwynn", "Creating a fixture for the Twitter gem")
594
621
  expect(a_post("/1.1/direct_messages/new.json").with(:body => {:screen_name => "pengwynn", :text => "Creating a fixture for the Twitter gem"})).to have_been_made
595
622
  end
596
- it "should have the correct output" do
623
+ it "has the correct output" do
597
624
  @cli.dm("pengwynn", "Creating a fixture for the Twitter gem")
598
625
  expect($stdout.string.chomp).to eq "Direct Message sent from @testcli to @pengwynn."
599
626
  end
@@ -602,7 +629,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
602
629
  @cli.options = @cli.options.merge("id" => true)
603
630
  stub_post("/1.1/direct_messages/new.json").with(:body => {:user_id => "14100886", :text => "Creating a fixture for the Twitter gem"}).to_return(:body => fixture("direct_message.json"), :headers => {:content_type => "application/json; charset=utf-8"})
604
631
  end
605
- it "should request the correct resource" do
632
+ it "requests the correct resource" do
606
633
  @cli.dm("14100886", "Creating a fixture for the Twitter gem")
607
634
  expect(a_post("/1.1/direct_messages/new.json").with(:body => {:user_id => "14100886", :text => "Creating a fixture for the Twitter gem"})).to have_been_made
608
635
  end
@@ -614,11 +641,11 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
614
641
  @cli.options = @cli.options.merge("profile" => fixture_path + "/.trc")
615
642
  stub_get("/1.1/lists/members/show.json").with(:query => {:owner_screen_name => "testcli", :screen_name => "testcli", :slug => "presidents"}).to_return(:body => fixture("list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
616
643
  end
617
- it "should request the correct resource" do
644
+ it "requests the correct resource" do
618
645
  @cli.does_contain("presidents")
619
646
  expect(a_get("/1.1/lists/members/show.json").with(:query => {:owner_screen_name => "testcli", :screen_name => "testcli", :slug => "presidents"})).to have_been_made
620
647
  end
621
- it "should have the correct output" do
648
+ it "has the correct output" do
622
649
  @cli.does_contain("presidents")
623
650
  expect($stdout.string.chomp).to eq "Yes, presidents contains @testcli."
624
651
  end
@@ -628,14 +655,14 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
628
655
  stub_get("/1.1/users/show.json").with(:query => {:user_id => "7505382"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
629
656
  stub_get("/1.1/lists/members/show.json").with(:query => {:owner_screen_name => "testcli", :screen_name => "sferik", :slug => "presidents"}).to_return(:body => fixture("list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
630
657
  end
631
- it "should request the correct resource" do
658
+ it "requests the correct resource" do
632
659
  @cli.does_contain("presidents", "7505382")
633
660
  expect(a_get("/1.1/users/show.json").with(:query => {:user_id => "7505382"})).to have_been_made
634
661
  expect(a_get("/1.1/lists/members/show.json").with(:query => {:owner_screen_name => "testcli", :screen_name => "sferik", :slug => "presidents"})).to have_been_made
635
662
  end
636
663
  end
637
664
  context "with an owner passed" do
638
- it "should have the correct output" do
665
+ it "has the correct output" do
639
666
  @cli.does_contain("testcli/presidents", "testcli")
640
667
  expect($stdout.string.chomp).to eq "Yes, presidents contains @testcli."
641
668
  end
@@ -645,7 +672,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
645
672
  stub_get("/1.1/users/show.json").with(:query => {:user_id => "7505382"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
646
673
  stub_get("/1.1/lists/members/show.json").with(:query => {:owner_id => "7505382", :screen_name => "sferik", :slug => "presidents"}).to_return(:body => fixture("list.json"), :headers => {:content_type => "application/json; charset=utf-8"})
647
674
  end
648
- it "should request the correct resource" do
675
+ it "requests the correct resource" do
649
676
  @cli.does_contain("7505382/presidents", "7505382")
650
677
  expect(a_get("/1.1/users/show.json").with(:query => {:user_id => "7505382"})).to have_been_made
651
678
  expect(a_get("/1.1/lists/members/show.json").with(:query => {:owner_id => "7505382", :screen_name => "sferik", :slug => "presidents"})).to have_been_made
@@ -653,7 +680,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
653
680
  end
654
681
  end
655
682
  context "with a user passed" do
656
- it "should have the correct output" do
683
+ it "has the correct output" do
657
684
  @cli.does_contain("presidents", "testcli")
658
685
  expect($stdout.string.chomp).to eq "Yes, presidents contains @testcli."
659
686
  end
@@ -662,7 +689,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
662
689
  before do
663
690
  stub_get("/1.1/lists/members/show.json").with(:query => {:owner_screen_name => "testcli", :screen_name => "testcli", :slug => "presidents"}).to_return(:body => fixture("not_found.json"), :status => 404, :headers => {:content_type => "application/json; charset=utf-8"})
664
691
  end
665
- it "should exit" do
692
+ it "exits" do
666
693
  expect do
667
694
  @cli.does_contain("presidents")
668
695
  end.to raise_error(SystemExit)
@@ -676,11 +703,11 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
676
703
  @cli.options = @cli.options.merge("profile" => fixture_path + "/.trc")
677
704
  stub_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "ev", :target_screen_name => "testcli"}).to_return(:body => fixture("following.json"), :headers => {:content_type => "application/json; charset=utf-8"})
678
705
  end
679
- it "should request the correct resource" do
706
+ it "requests the correct resource" do
680
707
  @cli.does_follow("ev")
681
708
  expect(a_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "ev", :target_screen_name => "testcli"})).to have_been_made
682
709
  end
683
- it "should have the correct output" do
710
+ it "has the correct output" do
684
711
  @cli.does_follow("ev")
685
712
  expect($stdout.string.chomp).to eq "Yes, @ev follows @testcli."
686
713
  end
@@ -690,41 +717,52 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
690
717
  stub_get("/1.1/users/show.json").with(:query => {:user_id => "20"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
691
718
  stub_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "sferik", :target_screen_name => "testcli"}).to_return(:body => fixture("following.json"), :headers => {:content_type => "application/json; charset=utf-8"})
692
719
  end
693
- it "should request the correct resource" do
720
+ it "requests the correct resource" do
694
721
  @cli.does_follow("20")
695
722
  expect(a_get("/1.1/users/show.json").with(:query => {:user_id => "20"})).to have_been_made
696
723
  expect(a_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "sferik", :target_screen_name => "testcli"})).to have_been_made
697
724
  end
725
+ it "has the correct output" do
726
+ @cli.does_follow("20")
727
+ expect($stdout.string.chomp).to eq "Yes, @sferik follows @testcli."
728
+ end
698
729
  end
699
730
  context "with a user passed" do
700
731
  before do
701
- @cli.options = @cli.options.merge("id" => true)
702
- stub_get("/1.1/users/show.json").with(:query => {:user_id => "0"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
703
- stub_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "sferik", :target_screen_name => "sferik"}).to_return(:body => fixture("following.json"), :headers => {:content_type => "application/json; charset=utf-8"})
732
+ stub_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "ev", :target_screen_name => "sferik"}).to_return(:body => fixture("following.json"), :headers => {:content_type => "application/json; charset=utf-8"})
733
+ end
734
+ it "requests the correct resource" do
735
+ @cli.does_follow("ev", "sferik")
736
+ expect(a_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "ev", :target_screen_name => "sferik"})).to have_been_made
704
737
  end
705
- it "should have the correct output" do
706
- @cli.does_follow("ev", "testcli")
707
- expect($stdout.string.chomp).to eq "Yes, @sferik follows @sferik."
738
+ it "has the correct output" do
739
+ @cli.does_follow("ev", "sferik")
740
+ expect($stdout.string.chomp).to eq "Yes, @ev follows @sferik."
708
741
  end
709
742
  context "--id" do
710
743
  before do
711
744
  @cli.options = @cli.options.merge("id" => true)
712
745
  stub_get("/1.1/users/show.json").with(:query => {:user_id => "20"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
713
746
  stub_get("/1.1/users/show.json").with(:query => {:user_id => "428004849"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
747
+ stub_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "sferik", :target_screen_name => "sferik"}).to_return(:body => fixture("following.json"), :headers => {:content_type => "application/json; charset=utf-8"})
714
748
  end
715
- it "should request the correct resource" do
749
+ it "requests the correct resource" do
716
750
  @cli.does_follow("20", "428004849")
717
751
  expect(a_get("/1.1/users/show.json").with(:query => {:user_id => "20"})).to have_been_made
718
752
  expect(a_get("/1.1/users/show.json").with(:query => {:user_id => "428004849"})).to have_been_made
719
753
  expect(a_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "sferik", :target_screen_name => "sferik"})).to have_been_made
720
754
  end
755
+ it "has the correct output" do
756
+ @cli.does_follow("20", "428004849")
757
+ expect($stdout.string.chomp).to eq "Yes, @sferik follows @sferik."
758
+ end
721
759
  end
722
760
  end
723
761
  context "false" do
724
762
  before do
725
763
  stub_get("/1.1/friendships/show.json").with(:query => {:source_screen_name => "ev", :target_screen_name => "testcli"}).to_return(:body => fixture("not_following.json"), :headers => {:content_type => "application/json; charset=utf-8"})
726
764
  end
727
- it "should exit" do
765
+ it "exits" do
728
766
  expect do
729
767
  @cli.does_follow("ev")
730
768
  end.to raise_error(SystemExit)
@@ -738,11 +776,11 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
738
776
  @cli.options = @cli.options.merge("profile" => fixture_path + "/.trc")
739
777
  stub_post("/1.1/favorites/create.json").with(:body => {:id => "26755176471724032"}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
740
778
  end
741
- it "should request the correct resource" do
779
+ it "requests the correct resource" do
742
780
  @cli.favorite("26755176471724032")
743
781
  expect(a_post("/1.1/favorites/create.json").with(:body => {:id => "26755176471724032"})).to have_been_made
744
782
  end
745
- it "should have the correct output" do
783
+ it "has the correct output" do
746
784
  @cli.favorite("26755176471724032")
747
785
  expect($stdout.string).to match /^@testcli favorited 1 tweet.$/
748
786
  end
@@ -752,11 +790,11 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
752
790
  before do
753
791
  stub_get("/1.1/favorites/list.json").with(:query => {:count => "20"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
754
792
  end
755
- it "should request the correct resource" do
793
+ it "requests the correct resource" do
756
794
  @cli.favorites
757
795
  expect(a_get("/1.1/favorites/list.json").with(:query => {:count => "20"})).to have_been_made
758
796
  end
759
- it "should have the correct output" do
797
+ it "has the correct output" do
760
798
  @cli.favorites
761
799
  expect($stdout.string).to eq <<-eos
762
800
  \e[1m\e[33m @mutgoff\e[0m
@@ -840,11 +878,11 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
840
878
  before do
841
879
  @cli.options = @cli.options.merge("csv" => true)
842
880
  end
843
- it "should output in CSV format" do
881
+ it "outputs in CSV format" do
844
882
  @cli.favorites
845
883
  expect($stdout.string).to eq <<-eos
846
884
  ID,Posted at,Screen name,Text
847
- 244111636544225280,2012-09-07 16:35:24 +0000,mutgoff,Happy Birthday @imdane. Watch out for those @rally pranksters!
885
+ 4611686018427387904,2012-09-07 16:35:24 +0000,mutgoff,Happy Birthday @imdane. Watch out for those @rally pranksters!
848
886
  244111183165157376,2012-09-07 16:33:36 +0000,ironicsans,"If you like good real-life stories, check out @NarrativelyNY's just-launched site http://t.co/wiUL07jE (and also visit http://t.co/ZoyQxqWA)"
849
887
  244110336414859264,2012-09-07 16:30:14 +0000,pat_shaughnessy,"Something else to vote for: ""New Rails workshops to bring more women into the Boston software scene"" http://t.co/eNBuckHc /cc @bostonrb"
850
888
  244109797308379136,2012-09-07 16:28:05 +0000,calebelston,Pushing the button to launch the site. http://t.co/qLoEn5jG
@@ -871,60 +909,60 @@ ID,Posted at,Screen name,Text
871
909
  before do
872
910
  @cli.options = @cli.options.merge("long" => true)
873
911
  end
874
- it "should output in long format" do
912
+ it "outputs in long format" do
875
913
  @cli.favorites
876
914
  expect($stdout.string).to eq <<-eos
877
- ID Posted at Screen name Text
878
- 244111636544225280 Sep 7 08:35 @mutgoff Happy Birthday @imdane. W...
879
- 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-lif...
880
- 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote fo...
881
- 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to lau...
882
- 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosaic...
883
- 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a M...
884
- 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going to...
885
- 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publishe...
886
- 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how ...
887
- 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober....
888
- 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better banki...
889
- 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic,...
890
- 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> ge...
891
- 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpor...
892
- 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; P...
893
- 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrats...
894
- 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curiosi...
895
- 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now h...
896
- 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did y...
897
- 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't figh...
915
+ ID Posted at Screen name Text
916
+ 4611686018427387904 Sep 7 08:35 @mutgoff Happy Birthday @imdane. ...
917
+ 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-li...
918
+ 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote f...
919
+ 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to la...
920
+ 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosai...
921
+ 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a ...
922
+ 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going t...
923
+ 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publish...
924
+ 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how...
925
+ 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober...
926
+ 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better bank...
927
+ 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic...
928
+ 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> g...
929
+ 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpo...
930
+ 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; ...
931
+ 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrat...
932
+ 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curios...
933
+ 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now ...
934
+ 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did ...
935
+ 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't fig...
898
936
  eos
899
937
  end
900
938
  context "--reverse" do
901
939
  before do
902
940
  @cli.options = @cli.options.merge("reverse" => true)
903
941
  end
904
- it "should reverse the order of the sort" do
942
+ it "reverses the order of the sort" do
905
943
  @cli.favorites
906
944
  expect($stdout.string).to eq <<-eos
907
- ID Posted at Screen name Text
908
- 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't figh...
909
- 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did y...
910
- 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now h...
911
- 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curiosi...
912
- 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrats...
913
- 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; P...
914
- 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpor...
915
- 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> ge...
916
- 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic,...
917
- 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better banki...
918
- 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober....
919
- 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how ...
920
- 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publishe...
921
- 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going to...
922
- 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a M...
923
- 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosaic...
924
- 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to lau...
925
- 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote fo...
926
- 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-lif...
927
- 244111636544225280 Sep 7 08:35 @mutgoff Happy Birthday @imdane. W...
945
+ ID Posted at Screen name Text
946
+ 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't fig...
947
+ 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did ...
948
+ 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now ...
949
+ 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curios...
950
+ 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrat...
951
+ 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; ...
952
+ 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpo...
953
+ 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> g...
954
+ 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic...
955
+ 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better bank...
956
+ 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober...
957
+ 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how...
958
+ 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publish...
959
+ 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going t...
960
+ 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a ...
961
+ 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosai...
962
+ 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to la...
963
+ 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote f...
964
+ 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-li...
965
+ 4611686018427387904 Sep 7 08:35 @mutgoff Happy Birthday @imdane. ...
928
966
  eos
929
967
  end
930
968
  end
@@ -932,32 +970,26 @@ ID Posted at Screen name Text
932
970
  context "--number" do
933
971
  before do
934
972
  stub_get("/1.1/favorites/list.json").with(:query => {:count => "1"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
935
- stub_get("/1.1/favorites/list.json").with(:query => {:count => "200"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
936
- stub_get("/1.1/favorites/list.json").with(:query => {:count => "200", :max_id => "244099460672679937"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
937
- (5..185).step(20).to_a.reverse.each do |count|
938
- stub_get("/1.1/favorites/list.json").with(:query => {:count => count, :max_id => "244099460672679937"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
939
- end
973
+ stub_get("/1.1/favorites/list.json").with(:query => {:count => "200"}).to_return(:body => fixture("200_statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
974
+ stub_get("/1.1/favorites/list.json").with(:query => {:count => "1", :max_id => "265500541700956160"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
940
975
  end
941
- it "should limit the number of results to 1" do
976
+ it "limits the number of results to 1" do
942
977
  @cli.options = @cli.options.merge("number" => 1)
943
978
  @cli.favorites
944
979
  expect(a_get("/1.1/favorites/list.json").with(:query => {:count => "1"})).to have_been_made
945
980
  end
946
- it "should limit the number of results to 345" do
947
- @cli.options = @cli.options.merge("number" => 345)
981
+ it "limits the number of results to 201" do
982
+ @cli.options = @cli.options.merge("number" => 201)
948
983
  @cli.favorites
949
984
  expect(a_get("/1.1/favorites/list.json").with(:query => {:count => "200"})).to have_been_made
950
- expect(a_get("/1.1/favorites/list.json").with(:query => {:count => "200", :max_id => "244099460672679937"})).to have_been_made.times(7)
951
- (5..185).step(20).to_a.reverse.each do |count|
952
- expect(a_get("/1.1/favorites/list.json").with(:query => {:count => count, :max_id => "244099460672679937"})).to have_been_made
953
- end
985
+ expect(a_get("/1.1/favorites/list.json").with(:query => {:count => "1", :max_id => "265500541700956160"})).to have_been_made
954
986
  end
955
987
  end
956
988
  context "with a user passed" do
957
989
  before do
958
990
  stub_get("/1.1/favorites/list.json").with(:query => {:count => "20", :screen_name => "sferik"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
959
991
  end
960
- it "should request the correct resource" do
992
+ it "requests the correct resource" do
961
993
  @cli.favorites("sferik")
962
994
  expect(a_get("/1.1/favorites/list.json").with(:query => {:count => "20", :screen_name => "sferik"})).to have_been_made
963
995
  end
@@ -966,7 +998,7 @@ ID Posted at Screen name Text
966
998
  @cli.options = @cli.options.merge("id" => true)
967
999
  stub_get("/1.1/favorites/list.json").with(:query => {:user_id => "7505382", :count => "20"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
968
1000
  end
969
- it "should request the correct resource" do
1001
+ it "requests the correct resource" do
970
1002
  @cli.favorites("7505382")
971
1003
  expect(a_get("/1.1/favorites/list.json").with(:query => {:user_id => "7505382", :count => "20"})).to have_been_made
972
1004
  end
@@ -984,13 +1016,13 @@ ID Posted at Screen name Text
984
1016
  stub_post("/1.1/users/lookup.json").with(:body => {:screen_name => "sferik,pengwynn"}).to_return(:body => fixture("users.json"), :headers => {:content_type => "application/json; charset=utf-8"})
985
1017
  stub_post("/1.1/friendships/create.json").with(:body => {:user_id => "14100886"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
986
1018
  end
987
- it "should request the correct resource" do
1019
+ it "requests the correct resource" do
988
1020
  @cli.follow("sferik", "pengwynn")
989
1021
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1"})).to have_been_made
990
1022
  expect(a_post("/1.1/users/lookup.json").with(:body => {:screen_name => "sferik,pengwynn"})).to have_been_made
991
1023
  expect(a_post("/1.1/friendships/create.json").with(:body => {:user_id => "14100886"})).to have_been_made
992
1024
  end
993
- it "should have the correct output" do
1025
+ it "has the correct output" do
994
1026
  @cli.follow("sferik", "pengwynn")
995
1027
  expect($stdout.string).to match /^@testcli is now following 1 more user\.$/
996
1028
  end
@@ -1001,7 +1033,7 @@ ID Posted at Screen name Text
1001
1033
  stub_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382,14100886"}).to_return(:body => fixture("users.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1002
1034
  stub_post("/1.1/friendships/create.json").with(:body => {:user_id => "14100886"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1003
1035
  end
1004
- it "should request the correct resource" do
1036
+ it "requests the correct resource" do
1005
1037
  @cli.follow("7505382", "14100886")
1006
1038
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1"})).to have_been_made
1007
1039
  expect(a_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382,14100886"})).to have_been_made
@@ -1009,7 +1041,7 @@ ID Posted at Screen name Text
1009
1041
  end
1010
1042
  end
1011
1043
  context "Twitter is down" do
1012
- it "should retry 3 times and then raise an error" do
1044
+ it "retries 3 times and then raise an error" do
1013
1045
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1014
1046
  stub_post("/1.1/users/lookup.json").with(:body => {:screen_name => "sferik,pengwynn"}).to_return(:body => fixture("users.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1015
1047
  stub_post("/1.1/friendships/create.json").with(:body => {:user_id => "14100886"}).to_return(:status => 502)
@@ -1029,12 +1061,12 @@ ID Posted at Screen name Text
1029
1061
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1030
1062
  stub_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"}).to_return(:body => fixture("users.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1031
1063
  end
1032
- it "should request the correct resource" do
1064
+ it "requests the correct resource" do
1033
1065
  @cli.followings
1034
1066
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1"})).to have_been_made
1035
1067
  expect(a_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"})).to have_been_made
1036
1068
  end
1037
- it "should have the correct output" do
1069
+ it "has the correct output" do
1038
1070
  @cli.followings
1039
1071
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1040
1072
  end
@@ -1042,7 +1074,7 @@ ID Posted at Screen name Text
1042
1074
  before do
1043
1075
  @cli.options = @cli.options.merge("csv" => true)
1044
1076
  end
1045
- it "should output in CSV format" do
1077
+ it "outputs in CSV format" do
1046
1078
  @cli.followings
1047
1079
  expect($stdout.string).to eq <<-eos
1048
1080
  ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
@@ -1055,7 +1087,7 @@ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name
1055
1087
  before do
1056
1088
  @cli.options = @cli.options.merge("long" => true)
1057
1089
  end
1058
- it "should output in long format" do
1090
+ it "outputs in long format" do
1059
1091
  @cli.followings
1060
1092
  expect($stdout.string).to eq <<-eos
1061
1093
  ID Since Last tweeted at Tweets Favorites Listed Following...
@@ -1068,7 +1100,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1068
1100
  before do
1069
1101
  @cli.options = @cli.options.merge("reverse" => true)
1070
1102
  end
1071
- it "should reverse the order of the sort" do
1103
+ it "reverses the order of the sort" do
1072
1104
  @cli.followings
1073
1105
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1074
1106
  end
@@ -1077,7 +1109,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1077
1109
  before do
1078
1110
  @cli.options = @cli.options.merge("sort" => "favorites")
1079
1111
  end
1080
- it "should sort by number of favorites" do
1112
+ it "sorts by number of favorites" do
1081
1113
  @cli.followings
1082
1114
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1083
1115
  end
@@ -1086,7 +1118,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1086
1118
  before do
1087
1119
  @cli.options = @cli.options.merge("sort" => "followers")
1088
1120
  end
1089
- it "should sort by number of followers" do
1121
+ it "sorts by number of followers" do
1090
1122
  @cli.followings
1091
1123
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1092
1124
  end
@@ -1095,7 +1127,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1095
1127
  before do
1096
1128
  @cli.options = @cli.options.merge("sort" => "friends")
1097
1129
  end
1098
- it "should sort by number of friends" do
1130
+ it "sorts by number of friends" do
1099
1131
  @cli.followings
1100
1132
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1101
1133
  end
@@ -1104,7 +1136,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1104
1136
  before do
1105
1137
  @cli.options = @cli.options.merge("sort" => "listed")
1106
1138
  end
1107
- it "should sort by number of list memberships" do
1139
+ it "sorts by number of list memberships" do
1108
1140
  @cli.followings
1109
1141
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1110
1142
  end
@@ -1113,7 +1145,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1113
1145
  before do
1114
1146
  @cli.options = @cli.options.merge("sort" => "since")
1115
1147
  end
1116
- it "should sort by the time when Twitter acount was created" do
1148
+ it "sorts by the time when Twitter acount was created" do
1117
1149
  @cli.followings
1118
1150
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1119
1151
  end
@@ -1122,7 +1154,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1122
1154
  before do
1123
1155
  @cli.options = @cli.options.merge("sort" => "tweets")
1124
1156
  end
1125
- it "should sort by number of Tweets" do
1157
+ it "sorts by number of Tweets" do
1126
1158
  @cli.followings
1127
1159
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1128
1160
  end
@@ -1131,7 +1163,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1131
1163
  before do
1132
1164
  @cli.options = @cli.options.merge("sort" => "tweeted")
1133
1165
  end
1134
- it "should sort by the time of the last Tweet" do
1166
+ it "sorts by the time of the last Tweet" do
1135
1167
  @cli.followings
1136
1168
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1137
1169
  end
@@ -1140,7 +1172,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1140
1172
  before do
1141
1173
  @cli.options = @cli.options.merge("unsorted" => true)
1142
1174
  end
1143
- it "should not be sorted" do
1175
+ it "is not sorted" do
1144
1176
  @cli.followings
1145
1177
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1146
1178
  end
@@ -1149,7 +1181,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1149
1181
  before do
1150
1182
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1151
1183
  end
1152
- it "should request the correct resource" do
1184
+ it "requests the correct resource" do
1153
1185
  @cli.followings("sferik")
1154
1186
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
1155
1187
  expect(a_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"})).to have_been_made
@@ -1160,7 +1192,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1160
1192
  @cli.options = @cli.options.merge("id" => true)
1161
1193
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1162
1194
  end
1163
- it "should request the correct resource" do
1195
+ it "requests the correct resource" do
1164
1196
  @cli.followings("7505382")
1165
1197
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
1166
1198
  expect(a_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"})).to have_been_made
@@ -1173,12 +1205,12 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1173
1205
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1174
1206
  stub_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"}).to_return(:body => fixture("users.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1175
1207
  end
1176
- it "should request the correct resource" do
1208
+ it "requests the correct resource" do
1177
1209
  @cli.followers
1178
1210
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1"})).to have_been_made
1179
1211
  expect(a_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"})).to have_been_made
1180
1212
  end
1181
- it "should have the correct output" do
1213
+ it "has the correct output" do
1182
1214
  @cli.followers
1183
1215
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1184
1216
  end
@@ -1186,7 +1218,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1186
1218
  before do
1187
1219
  @cli.options = @cli.options.merge("csv" => true)
1188
1220
  end
1189
- it "should output in CSV format" do
1221
+ it "outputs in CSV format" do
1190
1222
  @cli.followers
1191
1223
  expect($stdout.string).to eq <<-eos
1192
1224
  ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
@@ -1199,7 +1231,7 @@ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name
1199
1231
  before do
1200
1232
  @cli.options = @cli.options.merge("long" => true)
1201
1233
  end
1202
- it "should output in long format" do
1234
+ it "outputs in long format" do
1203
1235
  @cli.followers
1204
1236
  expect($stdout.string).to eq <<-eos
1205
1237
  ID Since Last tweeted at Tweets Favorites Listed Following...
@@ -1212,7 +1244,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1212
1244
  before do
1213
1245
  @cli.options = @cli.options.merge("reverse" => true)
1214
1246
  end
1215
- it "should reverse the order of the sort" do
1247
+ it "reverses the order of the sort" do
1216
1248
  @cli.followers
1217
1249
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1218
1250
  end
@@ -1221,7 +1253,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1221
1253
  before do
1222
1254
  @cli.options = @cli.options.merge("sort" => "favorites")
1223
1255
  end
1224
- it "should sort by number of favorites" do
1256
+ it "sorts by number of favorites" do
1225
1257
  @cli.followers
1226
1258
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1227
1259
  end
@@ -1230,7 +1262,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1230
1262
  before do
1231
1263
  @cli.options = @cli.options.merge("sort" => "followers")
1232
1264
  end
1233
- it "should sort by number of followers" do
1265
+ it "sorts by number of followers" do
1234
1266
  @cli.followers
1235
1267
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1236
1268
  end
@@ -1239,7 +1271,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1239
1271
  before do
1240
1272
  @cli.options = @cli.options.merge("sort" => "friends")
1241
1273
  end
1242
- it "should sort by number of friends" do
1274
+ it "sorts by number of friends" do
1243
1275
  @cli.followers
1244
1276
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1245
1277
  end
@@ -1248,7 +1280,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1248
1280
  before do
1249
1281
  @cli.options = @cli.options.merge("sort" => "listed")
1250
1282
  end
1251
- it "should sort by number of list memberships" do
1283
+ it "sorts by number of list memberships" do
1252
1284
  @cli.followers
1253
1285
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1254
1286
  end
@@ -1257,7 +1289,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1257
1289
  before do
1258
1290
  @cli.options = @cli.options.merge("sort" => "since")
1259
1291
  end
1260
- it "should sort by the time when Twitter acount was created" do
1292
+ it "sorts by the time when Twitter acount was created" do
1261
1293
  @cli.followers
1262
1294
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1263
1295
  end
@@ -1266,7 +1298,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1266
1298
  before do
1267
1299
  @cli.options = @cli.options.merge("sort" => "tweets")
1268
1300
  end
1269
- it "should sort by number of Tweets" do
1301
+ it "sorts by number of Tweets" do
1270
1302
  @cli.followers
1271
1303
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1272
1304
  end
@@ -1275,7 +1307,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1275
1307
  before do
1276
1308
  @cli.options = @cli.options.merge("sort" => "tweeted")
1277
1309
  end
1278
- it "should sort by the time of the last Tweet" do
1310
+ it "sorts by the time of the last Tweet" do
1279
1311
  @cli.followers
1280
1312
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1281
1313
  end
@@ -1284,7 +1316,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1284
1316
  before do
1285
1317
  @cli.options = @cli.options.merge("unsorted" => true)
1286
1318
  end
1287
- it "should not be sorted" do
1319
+ it "is not sorted" do
1288
1320
  @cli.followers
1289
1321
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1290
1322
  end
@@ -1294,7 +1326,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1294
1326
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1295
1327
  stub_post("/1.1/users/lookup.json").with(:body => {:user_id => "213747670,428004849"}).to_return(:body => fixture("users.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1296
1328
  end
1297
- it "should request the correct resource" do
1329
+ it "requests the correct resource" do
1298
1330
  @cli.followers("sferik")
1299
1331
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
1300
1332
  expect(a_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"})).to have_been_made
@@ -1304,7 +1336,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1304
1336
  @cli.options = @cli.options.merge("id" => true)
1305
1337
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1306
1338
  end
1307
- it "should request the correct resource" do
1339
+ it "requests the correct resource" do
1308
1340
  @cli.followers("7505382")
1309
1341
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
1310
1342
  expect(a_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"})).to have_been_made
@@ -1319,13 +1351,13 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1319
1351
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1320
1352
  stub_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"}).to_return(:body => fixture("users.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1321
1353
  end
1322
- it "should request the correct resource" do
1354
+ it "requests the correct resource" do
1323
1355
  @cli.friends
1324
1356
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1"})).to have_been_made
1325
1357
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1"})).to have_been_made
1326
1358
  expect(a_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"})).to have_been_made
1327
1359
  end
1328
- it "should have the correct output" do
1360
+ it "has the correct output" do
1329
1361
  @cli.friends
1330
1362
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1331
1363
  end
@@ -1333,7 +1365,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1333
1365
  before do
1334
1366
  @cli.options = @cli.options.merge("csv" => true)
1335
1367
  end
1336
- it "should output in CSV format" do
1368
+ it "outputs in CSV format" do
1337
1369
  @cli.friends
1338
1370
  expect($stdout.string).to eq <<-eos
1339
1371
  ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
@@ -1346,7 +1378,7 @@ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name
1346
1378
  before do
1347
1379
  @cli.options = @cli.options.merge("long" => true)
1348
1380
  end
1349
- it "should output in long format" do
1381
+ it "outputs in long format" do
1350
1382
  @cli.friends
1351
1383
  expect($stdout.string).to eq <<-eos
1352
1384
  ID Since Last tweeted at Tweets Favorites Listed Following...
@@ -1359,7 +1391,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1359
1391
  before do
1360
1392
  @cli.options = @cli.options.merge("reverse" => true)
1361
1393
  end
1362
- it "should reverse the order of the sort" do
1394
+ it "reverses the order of the sort" do
1363
1395
  @cli.friends
1364
1396
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1365
1397
  end
@@ -1368,7 +1400,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1368
1400
  before do
1369
1401
  @cli.options = @cli.options.merge("sort" => "favorites")
1370
1402
  end
1371
- it "should sort by number of favorites" do
1403
+ it "sorts by number of favorites" do
1372
1404
  @cli.friends
1373
1405
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1374
1406
  end
@@ -1377,7 +1409,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1377
1409
  before do
1378
1410
  @cli.options = @cli.options.merge("sort" => "followers")
1379
1411
  end
1380
- it "should sort by number of followers" do
1412
+ it "sorts by number of followers" do
1381
1413
  @cli.friends
1382
1414
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1383
1415
  end
@@ -1386,7 +1418,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1386
1418
  before do
1387
1419
  @cli.options = @cli.options.merge("sort" => "friends")
1388
1420
  end
1389
- it "should sort by number of friends" do
1421
+ it "sorts by number of friends" do
1390
1422
  @cli.friends
1391
1423
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1392
1424
  end
@@ -1395,7 +1427,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1395
1427
  before do
1396
1428
  @cli.options = @cli.options.merge("sort" => "listed")
1397
1429
  end
1398
- it "should sort by number of list memberships" do
1430
+ it "sorts by number of list memberships" do
1399
1431
  @cli.friends
1400
1432
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1401
1433
  end
@@ -1404,7 +1436,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1404
1436
  before do
1405
1437
  @cli.options = @cli.options.merge("sort" => "since")
1406
1438
  end
1407
- it "should sort by the time when Twitter acount was created" do
1439
+ it "sorts by the time when Twitter acount was created" do
1408
1440
  @cli.friends
1409
1441
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1410
1442
  end
@@ -1413,7 +1445,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1413
1445
  before do
1414
1446
  @cli.options = @cli.options.merge("sort" => "tweets")
1415
1447
  end
1416
- it "should sort by number of Tweets" do
1448
+ it "sorts by number of Tweets" do
1417
1449
  @cli.friends
1418
1450
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1419
1451
  end
@@ -1422,7 +1454,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1422
1454
  before do
1423
1455
  @cli.options = @cli.options.merge("sort" => "tweeted")
1424
1456
  end
1425
- it "should sort by the time of the last Tweet" do
1457
+ it "sorts by the time of the last Tweet" do
1426
1458
  @cli.friends
1427
1459
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1428
1460
  end
@@ -1431,7 +1463,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1431
1463
  before do
1432
1464
  @cli.options = @cli.options.merge("unsorted" => true)
1433
1465
  end
1434
- it "should not be sorted" do
1466
+ it "is not sorted" do
1435
1467
  @cli.friends
1436
1468
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1437
1469
  end
@@ -1441,7 +1473,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1441
1473
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1442
1474
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1443
1475
  end
1444
- it "should request the correct resource" do
1476
+ it "requests the correct resource" do
1445
1477
  @cli.friends("sferik")
1446
1478
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
1447
1479
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
@@ -1453,7 +1485,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1453
1485
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1454
1486
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1455
1487
  end
1456
- it "should request the correct resource" do
1488
+ it "requests the correct resource" do
1457
1489
  @cli.friends("7505382")
1458
1490
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
1459
1491
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
@@ -1469,13 +1501,13 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1469
1501
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1"}).to_return(:body => fixture("followers_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1470
1502
  stub_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"}).to_return(:body => fixture("users.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1471
1503
  end
1472
- it "should request the correct resource" do
1504
+ it "requests the correct resource" do
1473
1505
  @cli.leaders
1474
1506
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1"})).to have_been_made
1475
1507
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1"})).to have_been_made
1476
1508
  expect(a_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382"})).to have_been_made
1477
1509
  end
1478
- it "should have the correct output" do
1510
+ it "has the correct output" do
1479
1511
  @cli.leaders
1480
1512
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1481
1513
  end
@@ -1483,7 +1515,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1483
1515
  before do
1484
1516
  @cli.options = @cli.options.merge("csv" => true)
1485
1517
  end
1486
- it "should output in CSV format" do
1518
+ it "outputs in CSV format" do
1487
1519
  @cli.leaders
1488
1520
  expect($stdout.string).to eq <<-eos
1489
1521
  ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
@@ -1496,7 +1528,7 @@ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name
1496
1528
  before do
1497
1529
  @cli.options = @cli.options.merge("long" => true)
1498
1530
  end
1499
- it "should output in long format" do
1531
+ it "outputs in long format" do
1500
1532
  @cli.leaders
1501
1533
  expect($stdout.string).to eq <<-eos
1502
1534
  ID Since Last tweeted at Tweets Favorites Listed Following...
@@ -1509,7 +1541,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1509
1541
  before do
1510
1542
  @cli.options = @cli.options.merge("reverse" => true)
1511
1543
  end
1512
- it "should reverse the order of the sort" do
1544
+ it "reverses the order of the sort" do
1513
1545
  @cli.leaders
1514
1546
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1515
1547
  end
@@ -1518,7 +1550,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1518
1550
  before do
1519
1551
  @cli.options = @cli.options.merge("sort" => "favorites")
1520
1552
  end
1521
- it "should sort by number of favorites" do
1553
+ it "sorts by number of favorites" do
1522
1554
  @cli.leaders
1523
1555
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1524
1556
  end
@@ -1527,7 +1559,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1527
1559
  before do
1528
1560
  @cli.options = @cli.options.merge("sort" => "followers")
1529
1561
  end
1530
- it "should sort by number of followers" do
1562
+ it "sorts by number of followers" do
1531
1563
  @cli.leaders
1532
1564
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1533
1565
  end
@@ -1536,7 +1568,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1536
1568
  before do
1537
1569
  @cli.options = @cli.options.merge("sort" => "friends")
1538
1570
  end
1539
- it "should sort by number of friends" do
1571
+ it "sorts by number of friends" do
1540
1572
  @cli.leaders
1541
1573
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1542
1574
  end
@@ -1545,7 +1577,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1545
1577
  before do
1546
1578
  @cli.options = @cli.options.merge("sort" => "listed")
1547
1579
  end
1548
- it "should sort by number of list memberships" do
1580
+ it "sorts by number of list memberships" do
1549
1581
  @cli.leaders
1550
1582
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1551
1583
  end
@@ -1554,7 +1586,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1554
1586
  before do
1555
1587
  @cli.options = @cli.options.merge("sort" => "since")
1556
1588
  end
1557
- it "should sort by the time when Twitter acount was created" do
1589
+ it "sorts by the time when Twitter acount was created" do
1558
1590
  @cli.leaders
1559
1591
  expect($stdout.string.chomp).to eq "sferik pengwynn"
1560
1592
  end
@@ -1563,7 +1595,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1563
1595
  before do
1564
1596
  @cli.options = @cli.options.merge("sort" => "tweets")
1565
1597
  end
1566
- it "should sort by number of Tweets" do
1598
+ it "sorts by number of Tweets" do
1567
1599
  @cli.leaders
1568
1600
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1569
1601
  end
@@ -1572,7 +1604,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1572
1604
  before do
1573
1605
  @cli.options = @cli.options.merge("sort" => "tweeted")
1574
1606
  end
1575
- it "should sort by the time of the last Tweet" do
1607
+ it "sorts by the time of the last Tweet" do
1576
1608
  @cli.leaders
1577
1609
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1578
1610
  end
@@ -1581,7 +1613,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1581
1613
  before do
1582
1614
  @cli.options = @cli.options.merge("unsorted" => true)
1583
1615
  end
1584
- it "should not be sorted" do
1616
+ it "is not sorted" do
1585
1617
  @cli.leaders
1586
1618
  expect($stdout.string.chomp).to eq "pengwynn sferik"
1587
1619
  end
@@ -1591,7 +1623,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1591
1623
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1592
1624
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"}).to_return(:body => fixture("followers_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1593
1625
  end
1594
- it "should request the correct resource" do
1626
+ it "requests the correct resource" do
1595
1627
  @cli.leaders("sferik")
1596
1628
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
1597
1629
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :screen_name => "sferik"})).to have_been_made
@@ -1603,7 +1635,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1603
1635
  stub_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"}).to_return(:body => fixture("friends_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1604
1636
  stub_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"}).to_return(:body => fixture("followers_ids.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1605
1637
  end
1606
- it "should request the correct resource" do
1638
+ it "requests the correct resource" do
1607
1639
  @cli.leaders("7505382")
1608
1640
  expect(a_get("/1.1/friends/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
1609
1641
  expect(a_get("/1.1/followers/ids.json").with(:query => {:cursor => "-1", :user_id => "7505382"})).to have_been_made
@@ -1617,11 +1649,11 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1617
1649
  before do
1618
1650
  stub_get("/1.1/lists/list.json").to_return(:body => fixture("lists.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1619
1651
  end
1620
- it "should request the correct resource" do
1652
+ it "requests the correct resource" do
1621
1653
  @cli.lists
1622
1654
  expect(a_get("/1.1/lists/list.json")).to have_been_made
1623
1655
  end
1624
- it "should have the correct output" do
1656
+ it "has the correct output" do
1625
1657
  @cli.lists
1626
1658
  expect($stdout.string.chomp).to eq "@pengwynn/rubyists @twitter/team @sferik/test"
1627
1659
  end
@@ -1629,7 +1661,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
1629
1661
  before do
1630
1662
  @cli.options = @cli.options.merge("csv" => true)
1631
1663
  end
1632
- it "should output in CSV format" do
1664
+ it "outputs in CSV format" do
1633
1665
  @cli.lists
1634
1666
  expect($stdout.string).to eq <<-eos
1635
1667
  ID,Created at,Screen name,Slug,Members,Subscribers,Mode,Description
@@ -1643,7 +1675,7 @@ ID,Created at,Screen name,Slug,Members,Subscribers,Mode,Description
1643
1675
  before do
1644
1676
  @cli.options = @cli.options.merge("long" => true)
1645
1677
  end
1646
- it "should output in long format" do
1678
+ it "outputs in long format" do
1647
1679
  @cli.lists
1648
1680
  expect($stdout.string).to eq <<-eos
1649
1681
  ID Created at Screen name Slug Members Subscribers Mode ...
@@ -1657,7 +1689,7 @@ ID Created at Screen name Slug Members Subscribers Mode ...
1657
1689
  before do
1658
1690
  @cli.options = @cli.options.merge("reverse" => true)
1659
1691
  end
1660
- it "should reverse the order of the sort" do
1692
+ it "reverses the order of the sort" do
1661
1693
  @cli.lists
1662
1694
  expect($stdout.string.chomp).to eq "@sferik/test @twitter/team @pengwynn/rubyists"
1663
1695
  end
@@ -1666,7 +1698,7 @@ ID Created at Screen name Slug Members Subscribers Mode ...
1666
1698
  before do
1667
1699
  @cli.options = @cli.options.merge("sort" => "members")
1668
1700
  end
1669
- it "should sort by the time when Twitter acount was created" do
1701
+ it "sorts by the time when Twitter acount was created" do
1670
1702
  @cli.lists
1671
1703
  expect($stdout.string.chomp).to eq "@sferik/test @pengwynn/rubyists @twitter/team"
1672
1704
  end
@@ -1675,7 +1707,7 @@ ID Created at Screen name Slug Members Subscribers Mode ...
1675
1707
  before do
1676
1708
  @cli.options = @cli.options.merge("sort" => "mode")
1677
1709
  end
1678
- it "should sort by the time when Twitter acount was created" do
1710
+ it "sorts by the time when Twitter acount was created" do
1679
1711
  @cli.lists
1680
1712
  expect($stdout.string.chomp).to eq "@sferik/test @twitter/team @pengwynn/rubyists"
1681
1713
  end
@@ -1684,7 +1716,7 @@ ID Created at Screen name Slug Members Subscribers Mode ...
1684
1716
  before do
1685
1717
  @cli.options = @cli.options.merge("sort" => "posted")
1686
1718
  end
1687
- it "should sort by the time when Twitter acount was created" do
1719
+ it "sorts by the time when Twitter acount was created" do
1688
1720
  @cli.lists
1689
1721
  expect($stdout.string.chomp).to eq "@twitter/team @pengwynn/rubyists @sferik/test"
1690
1722
  end
@@ -1693,7 +1725,7 @@ ID Created at Screen name Slug Members Subscribers Mode ...
1693
1725
  before do
1694
1726
  @cli.options = @cli.options.merge("sort" => "subscribers")
1695
1727
  end
1696
- it "should sort by the time when Twitter acount was created" do
1728
+ it "sorts by the time when Twitter acount was created" do
1697
1729
  @cli.lists
1698
1730
  expect($stdout.string.chomp).to eq "@sferik/test @pengwynn/rubyists @twitter/team"
1699
1731
  end
@@ -1702,7 +1734,7 @@ ID Created at Screen name Slug Members Subscribers Mode ...
1702
1734
  before do
1703
1735
  @cli.options = @cli.options.merge("unsorted" => true)
1704
1736
  end
1705
- it "should not be sorted" do
1737
+ it "is not sorted" do
1706
1738
  @cli.lists
1707
1739
  expect($stdout.string.chomp).to eq "@pengwynn/rubyists @twitter/team @sferik/test"
1708
1740
  end
@@ -1711,7 +1743,7 @@ ID Created at Screen name Slug Members Subscribers Mode ...
1711
1743
  before do
1712
1744
  stub_get("/1.1/lists/list.json").with(:query => {:screen_name => "sferik"}).to_return(:body => fixture("lists.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1713
1745
  end
1714
- it "should request the correct resource" do
1746
+ it "requests the correct resource" do
1715
1747
  @cli.lists("sferik")
1716
1748
  expect(a_get("/1.1/lists/list.json").with(:query => {:screen_name => "sferik"})).to have_been_made
1717
1749
  end
@@ -1720,7 +1752,7 @@ ID Created at Screen name Slug Members Subscribers Mode ...
1720
1752
  @cli.options = @cli.options.merge("id" => true)
1721
1753
  stub_get("/1.1/lists/list.json").with(:query => {:user_id => "7505382"}).to_return(:body => fixture("lists.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1722
1754
  end
1723
- it "should request the correct resource" do
1755
+ it "requests the correct resource" do
1724
1756
  @cli.lists("7505382")
1725
1757
  expect(a_get("/1.1/lists/list.json").with(:query => {:user_id => "7505382"})).to have_been_made
1726
1758
  end
@@ -1732,11 +1764,11 @@ ID Created at Screen name Slug Members Subscribers Mode ...
1732
1764
  before do
1733
1765
  stub_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => "20"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1734
1766
  end
1735
- it "should request the correct resource" do
1767
+ it "requests the correct resource" do
1736
1768
  @cli.mentions
1737
1769
  expect(a_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => "20"})).to have_been_made
1738
1770
  end
1739
- it "should have the correct output" do
1771
+ it "has the correct output" do
1740
1772
  @cli.mentions
1741
1773
  expect($stdout.string).to eq <<-eos
1742
1774
  \e[1m\e[33m @mutgoff\e[0m
@@ -1820,11 +1852,11 @@ ID Created at Screen name Slug Members Subscribers Mode ...
1820
1852
  before do
1821
1853
  @cli.options = @cli.options.merge("csv" => true)
1822
1854
  end
1823
- it "should output in CSV format" do
1855
+ it "outputs in CSV format" do
1824
1856
  @cli.mentions
1825
1857
  expect($stdout.string).to eq <<-eos
1826
1858
  ID,Posted at,Screen name,Text
1827
- 244111636544225280,2012-09-07 16:35:24 +0000,mutgoff,Happy Birthday @imdane. Watch out for those @rally pranksters!
1859
+ 4611686018427387904,2012-09-07 16:35:24 +0000,mutgoff,Happy Birthday @imdane. Watch out for those @rally pranksters!
1828
1860
  244111183165157376,2012-09-07 16:33:36 +0000,ironicsans,"If you like good real-life stories, check out @NarrativelyNY's just-launched site http://t.co/wiUL07jE (and also visit http://t.co/ZoyQxqWA)"
1829
1861
  244110336414859264,2012-09-07 16:30:14 +0000,pat_shaughnessy,"Something else to vote for: ""New Rails workshops to bring more women into the Boston software scene"" http://t.co/eNBuckHc /cc @bostonrb"
1830
1862
  244109797308379136,2012-09-07 16:28:05 +0000,calebelston,Pushing the button to launch the site. http://t.co/qLoEn5jG
@@ -1851,60 +1883,60 @@ ID,Posted at,Screen name,Text
1851
1883
  before do
1852
1884
  @cli.options = @cli.options.merge("long" => true)
1853
1885
  end
1854
- it "should output in long format" do
1886
+ it "outputs in long format" do
1855
1887
  @cli.mentions
1856
1888
  expect($stdout.string).to eq <<-eos
1857
- ID Posted at Screen name Text
1858
- 244111636544225280 Sep 7 08:35 @mutgoff Happy Birthday @imdane. W...
1859
- 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-lif...
1860
- 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote fo...
1861
- 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to lau...
1862
- 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosaic...
1863
- 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a M...
1864
- 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going to...
1865
- 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publishe...
1866
- 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how ...
1867
- 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober....
1868
- 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better banki...
1869
- 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic,...
1870
- 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> ge...
1871
- 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpor...
1872
- 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; P...
1873
- 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrats...
1874
- 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curiosi...
1875
- 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now h...
1876
- 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did y...
1877
- 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't figh...
1889
+ ID Posted at Screen name Text
1890
+ 4611686018427387904 Sep 7 08:35 @mutgoff Happy Birthday @imdane. ...
1891
+ 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-li...
1892
+ 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote f...
1893
+ 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to la...
1894
+ 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosai...
1895
+ 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a ...
1896
+ 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going t...
1897
+ 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publish...
1898
+ 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how...
1899
+ 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober...
1900
+ 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better bank...
1901
+ 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic...
1902
+ 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> g...
1903
+ 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpo...
1904
+ 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; ...
1905
+ 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrat...
1906
+ 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curios...
1907
+ 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now ...
1908
+ 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did ...
1909
+ 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't fig...
1878
1910
  eos
1879
1911
  end
1880
1912
  context "--reverse" do
1881
1913
  before do
1882
1914
  @cli.options = @cli.options.merge("reverse" => true)
1883
1915
  end
1884
- it "should reverse the order of the sort" do
1916
+ it "reverses the order of the sort" do
1885
1917
  @cli.mentions
1886
1918
  expect($stdout.string).to eq <<-eos
1887
- ID Posted at Screen name Text
1888
- 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't figh...
1889
- 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did y...
1890
- 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now h...
1891
- 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curiosi...
1892
- 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrats...
1893
- 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; P...
1894
- 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpor...
1895
- 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> ge...
1896
- 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic,...
1897
- 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better banki...
1898
- 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober....
1899
- 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how ...
1900
- 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publishe...
1901
- 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going to...
1902
- 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a M...
1903
- 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosaic...
1904
- 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to lau...
1905
- 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote fo...
1906
- 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-lif...
1907
- 244111636544225280 Sep 7 08:35 @mutgoff Happy Birthday @imdane. W...
1919
+ ID Posted at Screen name Text
1920
+ 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't fig...
1921
+ 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did ...
1922
+ 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now ...
1923
+ 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curios...
1924
+ 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrat...
1925
+ 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; ...
1926
+ 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpo...
1927
+ 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> g...
1928
+ 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic...
1929
+ 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better bank...
1930
+ 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober...
1931
+ 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how...
1932
+ 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publish...
1933
+ 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going t...
1934
+ 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a ...
1935
+ 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosai...
1936
+ 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to la...
1937
+ 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote f...
1938
+ 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-li...
1939
+ 4611686018427387904 Sep 7 08:35 @mutgoff Happy Birthday @imdane. ...
1908
1940
  eos
1909
1941
  end
1910
1942
  end
@@ -1912,25 +1944,19 @@ ID Posted at Screen name Text
1912
1944
  context "--number" do
1913
1945
  before do
1914
1946
  stub_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => "1"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1915
- stub_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => "200"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1916
- stub_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => "200", :max_id => "244099460672679937"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1917
- (5..185).step(20).to_a.reverse.each do |count|
1918
- stub_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => count, :max_id => "244099460672679937"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1919
- end
1947
+ stub_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => "200"}).to_return(:body => fixture("200_statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1948
+ stub_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => "1", :max_id => "265500541700956160"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1920
1949
  end
1921
- it "should limit the number of results to 1" do
1950
+ it "limits the number of results to 1" do
1922
1951
  @cli.options = @cli.options.merge("number" => 1)
1923
1952
  @cli.mentions
1924
1953
  expect(a_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => "1"})).to have_been_made
1925
1954
  end
1926
- it "should limit the number of results to 345" do
1927
- @cli.options = @cli.options.merge("number" => 345)
1955
+ it "limits the number of results to 201" do
1956
+ @cli.options = @cli.options.merge("number" => 201)
1928
1957
  @cli.mentions
1929
1958
  expect(a_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => "200"})).to have_been_made
1930
- expect(a_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => "200", :max_id => "244099460672679937"})).to have_been_made.times(7)
1931
- (5..185).step(20).to_a.reverse.each do |count|
1932
- expect(a_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => count, :max_id => "244099460672679937"})).to have_been_made
1933
- end
1959
+ expect(a_get("/1.1/statuses/mentions_timeline.json").with(:query => {:count => "1", :max_id => "265500541700956160"})).to have_been_made
1934
1960
  end
1935
1961
  end
1936
1962
  end
@@ -1939,7 +1965,7 @@ ID Posted at Screen name Text
1939
1965
  before do
1940
1966
  @cli.options = @cli.options.merge("display-url" => true)
1941
1967
  end
1942
- it "should have the correct output" do
1968
+ it "has the correct output" do
1943
1969
  expect do
1944
1970
  @cli.open("sferik")
1945
1971
  end.not_to raise_error
@@ -1949,7 +1975,7 @@ ID Posted at Screen name Text
1949
1975
  @cli.options = @cli.options.merge("id" => true)
1950
1976
  stub_get("/1.1/users/show.json").with(:query => {:user_id => "420"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1951
1977
  end
1952
- it "should request the correct resource" do
1978
+ it "requests the correct resource" do
1953
1979
  @cli.open("420")
1954
1980
  expect(a_get("/1.1/users/show.json").with(:query => {:user_id => "420"})).to have_been_made
1955
1981
  end
@@ -1959,11 +1985,11 @@ ID Posted at Screen name Text
1959
1985
  @cli.options = @cli.options.merge("status" => true)
1960
1986
  stub_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1961
1987
  end
1962
- it "should request the correct resource" do
1988
+ it "requests the correct resource" do
1963
1989
  @cli.open("55709764298092545")
1964
1990
  expect(a_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"})).to have_been_made
1965
1991
  end
1966
- it "should have the correct output" do
1992
+ it "has the correct output" do
1967
1993
  expect do
1968
1994
  @cli.open("55709764298092545")
1969
1995
  end.not_to raise_error
@@ -1974,36 +2000,37 @@ ID Posted at Screen name Text
1974
2000
  describe "#reply" do
1975
2001
  before do
1976
2002
  @cli.options = @cli.options.merge("profile" => fixture_path + "/.trc", "location" => true)
1977
- stub_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1978
- stub_post("/1.1/statuses/update.json").with(:body => {:in_reply_to_status_id => "55709764298092545", :status => "@sferik Testing", :lat => "37.76969909668", :long => "-122.39330291748", :trim_user => "true"}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2003
+ stub_get("/1.1/statuses/show/263813522369159169.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status_with_mention.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2004
+ stub_post("/1.1/statuses/update.json").with(:body => {:in_reply_to_status_id => "263813522369159169", :status => "@joshfrench Testing", :lat => "37.76969909668", :long => "-122.39330291748", :trim_user => "true"}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1979
2005
  stub_request(:get, "http://checkip.dyndns.org/").to_return(:body => fixture("checkip.html"), :headers => {:content_type => "text/html"})
1980
2006
  stub_request(:get, "http://www.geoplugin.net/xml.gp?ip=50.131.22.169").to_return(:body => fixture("geoplugin.xml"), :headers => {:content_type => "application/xml"})
1981
2007
  end
1982
- it "should request the correct resource" do
1983
- @cli.reply("55709764298092545", "Testing")
1984
- expect(a_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"})).to have_been_made
1985
- expect(a_post("/1.1/statuses/update.json").with(:body => {:in_reply_to_status_id => "55709764298092545", :status => "@sferik Testing", :lat => "37.76969909668", :long => "-122.39330291748", :trim_user => "true"})).to have_been_made
2008
+ it "requests the correct resource" do
2009
+ @cli.reply("263813522369159169", "Testing")
2010
+ expect(a_get("/1.1/statuses/show/263813522369159169.json").with(:query => {:include_my_retweet => "false"})).to have_been_made
2011
+ expect(a_post("/1.1/statuses/update.json").with(:body => {:in_reply_to_status_id => "263813522369159169", :status => "@joshfrench Testing", :lat => "37.76969909668", :long => "-122.39330291748", :trim_user => "true"})).to have_been_made
1986
2012
  expect(a_request(:get, "http://checkip.dyndns.org/")).to have_been_made
1987
2013
  expect(a_request(:get, "http://www.geoplugin.net/xml.gp?ip=50.131.22.169")).to have_been_made
1988
2014
  end
1989
- it "should have the correct output" do
1990
- @cli.reply("55709764298092545", "Testing")
1991
- expect($stdout.string.split("\n").first).to eq "Reply posted by @testcli to @sferik."
2015
+ it "has the correct output" do
2016
+ @cli.reply("263813522369159169", "Testing")
2017
+ expect($stdout.string.split("\n").first).to eq "Reply posted by @testcli to @joshfrench."
1992
2018
  end
1993
2019
  context "--all" do
1994
2020
  before do
1995
2021
  @cli.options = @cli.options.merge("all" => true)
2022
+ stub_post("/1.1/statuses/update.json").with(:body => {:in_reply_to_status_id => "263813522369159169", :status => "@joshfrench @sferik Testing", :lat => "37.76969909668", :long => "-122.39330291748", :trim_user => "true"}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
1996
2023
  end
1997
- it "should request the correct resource" do
1998
- @cli.reply("55709764298092545", "Testing")
1999
- expect(a_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"})).to have_been_made
2000
- expect(a_post("/1.1/statuses/update.json").with(:body => {:in_reply_to_status_id => "55709764298092545", :status => "@sferik Testing", :lat => "37.76969909668", :long => "-122.39330291748", :trim_user => "true"})).to have_been_made
2024
+ it "requests the correct resource" do
2025
+ @cli.reply("263813522369159169", "Testing")
2026
+ expect(a_get("/1.1/statuses/show/263813522369159169.json").with(:query => {:include_my_retweet => "false"})).to have_been_made
2027
+ expect(a_post("/1.1/statuses/update.json").with(:body => {:in_reply_to_status_id => "263813522369159169", :status => "@joshfrench @sferik Testing", :lat => "37.76969909668", :long => "-122.39330291748", :trim_user => "true"})).to have_been_made
2001
2028
  expect(a_request(:get, "http://checkip.dyndns.org/")).to have_been_made
2002
2029
  expect(a_request(:get, "http://www.geoplugin.net/xml.gp?ip=50.131.22.169")).to have_been_made
2003
2030
  end
2004
- it "should have the correct output" do
2005
- @cli.reply("55709764298092545", "Testing")
2006
- expect($stdout.string.split("\n").first).to eq "Reply posted by @testcli to @sferik."
2031
+ it "has the correct output" do
2032
+ @cli.reply("263813522369159169", "Testing")
2033
+ expect($stdout.string.split("\n").first).to eq "Reply posted by @testcli to @joshfrench @sferik."
2007
2034
  end
2008
2035
  end
2009
2036
  end
@@ -2013,11 +2040,11 @@ ID Posted at Screen name Text
2013
2040
  @cli.options = @cli.options.merge("profile" => fixture_path + "/.trc")
2014
2041
  stub_post("/1.1/report_spam.json").with(:body => {:screen_name => "sferik"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2015
2042
  end
2016
- it "should request the correct resource" do
2043
+ it "requests the correct resource" do
2017
2044
  @cli.report_spam("sferik")
2018
2045
  expect(a_post("/1.1/report_spam.json").with(:body => {:screen_name => "sferik"})).to have_been_made
2019
2046
  end
2020
- it "should have the correct output" do
2047
+ it "has the correct output" do
2021
2048
  @cli.report_spam("sferik")
2022
2049
  expect($stdout.string).to match /^@testcli reported 1 user/
2023
2050
  end
@@ -2026,7 +2053,7 @@ ID Posted at Screen name Text
2026
2053
  @cli.options = @cli.options.merge("id" => true)
2027
2054
  stub_post("/1.1/report_spam.json").with(:body => {:user_id => "7505382"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2028
2055
  end
2029
- it "should request the correct resource" do
2056
+ it "requests the correct resource" do
2030
2057
  @cli.report_spam("7505382")
2031
2058
  expect(a_post("/1.1/report_spam.json").with(:body => {:user_id => "7505382"})).to have_been_made
2032
2059
  end
@@ -2038,11 +2065,11 @@ ID Posted at Screen name Text
2038
2065
  @cli.options = @cli.options.merge("profile" => fixture_path + "/.trc")
2039
2066
  stub_post("/1.1/statuses/retweet/26755176471724032.json").to_return(:body => fixture("retweet.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2040
2067
  end
2041
- it "should request the correct resource" do
2068
+ it "requests the correct resource" do
2042
2069
  @cli.retweet("26755176471724032")
2043
2070
  expect(a_post("/1.1/statuses/retweet/26755176471724032.json")).to have_been_made
2044
2071
  end
2045
- it "should have the correct output" do
2072
+ it "has the correct output" do
2046
2073
  @cli.retweet("26755176471724032")
2047
2074
  expect($stdout.string).to match /^@testcli retweeted 1 tweet.$/
2048
2075
  end
@@ -2054,12 +2081,12 @@ ID Posted at Screen name Text
2054
2081
  stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :max_id => "244102729860009983"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2055
2082
  end
2056
2083
  context "without arguments" do
2057
- it "should request the correct resource" do
2084
+ it "requests the correct resource" do
2058
2085
  @cli.retweets
2059
2086
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true"})).to have_been_made
2060
2087
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :max_id => "244102729860009983"})).to have_been_made.times(3)
2061
2088
  end
2062
- it "should have the correct output" do
2089
+ it "has the correct output" do
2063
2090
  @cli.retweets
2064
2091
  expect($stdout.string).to eq <<-eos
2065
2092
  \e[1m\e[33m @calebelston\e[0m
@@ -2149,7 +2176,7 @@ ID Posted at Screen name Text
2149
2176
  before do
2150
2177
  @cli.options = @cli.options.merge("csv" => true)
2151
2178
  end
2152
- it "should output in CSV format" do
2179
+ it "outputs in CSV format" do
2153
2180
  @cli.retweets
2154
2181
  expect($stdout.string).to eq <<-eos
2155
2182
  ID,Posted at,Screen name,Text
@@ -2180,7 +2207,7 @@ ID,Posted at,Screen name,Text
2180
2207
  before do
2181
2208
  @cli.options = @cli.options.merge("long" => true)
2182
2209
  end
2183
- it "should output in long format" do
2210
+ it "outputs in long format" do
2184
2211
  @cli.retweets
2185
2212
  expect($stdout.string).to eq <<-eos
2186
2213
  ID Posted at Screen name Text
@@ -2210,7 +2237,7 @@ ID Posted at Screen name Text
2210
2237
  before do
2211
2238
  @cli.options = @cli.options.merge("reverse" => true)
2212
2239
  end
2213
- it "should reverse the order of the sort" do
2240
+ it "reverses the order of the sort" do
2214
2241
  @cli.retweets
2215
2242
  expect($stdout.string).to eq <<-eos
2216
2243
  ID Posted at Screen name Text
@@ -2243,13 +2270,13 @@ ID Posted at Screen name Text
2243
2270
  stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2244
2271
  stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :max_id => "244107823733174271"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2245
2272
  end
2246
- it "should limit the number of results to 1" do
2273
+ it "limits the number of results to 1" do
2247
2274
  @cli.options = @cli.options.merge("number" => 1)
2248
2275
  @cli.retweets
2249
2276
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true"})).to have_been_made
2250
2277
  end
2251
- it "should limit the number of results to 345" do
2252
- @cli.options = @cli.options.merge("number" => 345)
2278
+ it "limits the number of results to 201" do
2279
+ @cli.options = @cli.options.merge("number" => 201)
2253
2280
  @cli.retweets
2254
2281
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true"})).to have_been_made
2255
2282
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :max_id => "244107823733174271"})).to have_been_made
@@ -2260,7 +2287,7 @@ ID Posted at Screen name Text
2260
2287
  stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :screen_name => "sferik"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2261
2288
  stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :screen_name => "sferik", :max_id => "244102729860009983"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2262
2289
  end
2263
- it "should request the correct resource" do
2290
+ it "requests the correct resource" do
2264
2291
  @cli.retweets("sferik")
2265
2292
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :screen_name => "sferik"})).to have_been_made
2266
2293
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :screen_name => "sferik", :max_id => "244102729860009983"})).to have_been_made.times(3)
@@ -2271,7 +2298,7 @@ ID Posted at Screen name Text
2271
2298
  stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :user_id => "7505382"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2272
2299
  stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :user_id => "7505382", :max_id => "244102729860009983"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2273
2300
  end
2274
- it "should request the correct resource" do
2301
+ it "requests the correct resource" do
2275
2302
  @cli.retweets("7505382")
2276
2303
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :user_id => "7505382"})).to have_been_made
2277
2304
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :include_rts => "true", :user_id => "7505382", :max_id => "244102729860009983"})).to have_been_made.times(3)
@@ -2281,7 +2308,7 @@ ID Posted at Screen name Text
2281
2308
  end
2282
2309
 
2283
2310
  describe "#ruler" do
2284
- it "should have the correct output" do
2311
+ it "has the correct output" do
2285
2312
  @cli.ruler
2286
2313
  expect($stdout.string.chomp.size).to eq 140
2287
2314
  expect($stdout.string.chomp).to eq "----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|"
@@ -2290,7 +2317,7 @@ ID Posted at Screen name Text
2290
2317
  before do
2291
2318
  @cli.options = @cli.options.merge("indent" => 2)
2292
2319
  end
2293
- it "should have the correct output" do
2320
+ it "has the correct output" do
2294
2321
  @cli.ruler
2295
2322
  expect($stdout.string.chomp.size).to eq 142
2296
2323
  expect($stdout.string.chomp).to eq " ----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|----|"
@@ -2303,12 +2330,12 @@ ID Posted at Screen name Text
2303
2330
  stub_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2304
2331
  stub_get("/i/statuses/55709764298092545/activity/summary.json").to_return(:body => fixture("activity_summary.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2305
2332
  end
2306
- it "should request the correct resources" do
2333
+ it "requests the correct resources" do
2307
2334
  @cli.status("55709764298092545")
2308
2335
  expect(a_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"})).to have_been_made
2309
2336
  expect(a_get("/i/statuses/55709764298092545/activity/summary.json")).to have_been_made
2310
2337
  end
2311
- it "should have the correct output" do
2338
+ it "has the correct output" do
2312
2339
  @cli.status("55709764298092545")
2313
2340
  expect($stdout.string).to eq <<-eos
2314
2341
  ID 55709764298092545
@@ -2327,7 +2354,7 @@ URL https://twitter.com/sferik/status/55709764298092545
2327
2354
  before do
2328
2355
  @cli.options = @cli.options.merge("csv" => true)
2329
2356
  end
2330
- it "should have the correct output" do
2357
+ it "has the correct output" do
2331
2358
  @cli.status("55709764298092545")
2332
2359
  expect($stdout.string).to eq <<-eos
2333
2360
  ID,Text,Screen name,Posted at,Location,Retweets,Favorites,Replies,Source,URL
@@ -2339,7 +2366,7 @@ ID,Text,Screen name,Posted at,Location,Retweets,Favorites,Replies,Source,URL
2339
2366
  before do
2340
2367
  stub_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status_no_street_address.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2341
2368
  end
2342
- it "should have the correct output" do
2369
+ it "has the correct output" do
2343
2370
  @cli.status("55709764298092545")
2344
2371
  expect($stdout.string).to eq <<-eos
2345
2372
  ID 55709764298092550
@@ -2359,7 +2386,7 @@ URL https://twitter.com/sferik/status/55709764298092550
2359
2386
  before do
2360
2387
  stub_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status_no_locality.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2361
2388
  end
2362
- it "should have the correct output" do
2389
+ it "has the correct output" do
2363
2390
  @cli.status("55709764298092545")
2364
2391
  expect($stdout.string).to eq <<-eos
2365
2392
  ID 55709764298092549
@@ -2379,7 +2406,7 @@ URL https://twitter.com/sferik/status/55709764298092549
2379
2406
  before do
2380
2407
  stub_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status_no_attributes.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2381
2408
  end
2382
- it "should have the correct output" do
2409
+ it "has the correct output" do
2383
2410
  @cli.status("55709764298092545")
2384
2411
  expect($stdout.string).to eq <<-eos
2385
2412
  ID 55709764298092546
@@ -2399,7 +2426,7 @@ URL https://twitter.com/sferik/status/55709764298092546
2399
2426
  before do
2400
2427
  stub_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status_no_country.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2401
2428
  end
2402
- it "should have the correct output" do
2429
+ it "has the correct output" do
2403
2430
  @cli.status("55709764298092545")
2404
2431
  expect($stdout.string).to eq <<-eos
2405
2432
  ID 55709764298092547
@@ -2419,7 +2446,7 @@ URL https://twitter.com/sferik/status/55709764298092547
2419
2446
  before do
2420
2447
  stub_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status_no_full_name.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2421
2448
  end
2422
- it "should have the correct output" do
2449
+ it "has the correct output" do
2423
2450
  @cli.status("55709764298092545")
2424
2451
  expect($stdout.string).to eq <<-eos
2425
2452
  ID 55709764298092548
@@ -2435,6 +2462,69 @@ URL https://twitter.com/sferik/status/55709764298092548
2435
2462
  eos
2436
2463
  end
2437
2464
  end
2465
+ context "with no place" do
2466
+ before do
2467
+ stub_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status_no_place.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2468
+ stub_request(:get, "http://maps.google.com/maps/geo").with(:query => hash_including({:key => "REPLACE_WITH_YOUR_GOOGLE_KEY", :oe => "utf-8", :output => "xml"})).to_return(:body => fixture("geo.kml"), :headers => {:content_type => "text/xml; charset=UTF-8"})
2469
+ end
2470
+ it "has the correct output" do
2471
+ @cli.status("55709764298092545")
2472
+ expect($stdout.string).to eq <<-eos
2473
+ ID 55709764298092551
2474
+ Text The problem with your code is that it's doing exactly what you told it to do.
2475
+ Screen name @sferik
2476
+ Posted at Apr 6 2011 (8 months ago)
2477
+ Location San Francisco, CA, USA
2478
+ Retweets 320
2479
+ Favorites 2
2480
+ Replies 1
2481
+ Source Twitter for iPhone
2482
+ URL https://twitter.com/sferik/status/55709764298092551
2483
+ eos
2484
+ end
2485
+ context "with no city" do
2486
+ before do
2487
+ stub_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status_no_place.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2488
+ stub_request(:get, "http://maps.google.com/maps/geo").with(:query => hash_including({:key => "REPLACE_WITH_YOUR_GOOGLE_KEY", :oe => "utf-8", :output => "xml"})).to_return(:body => fixture("geo_no_city.kml"), :headers => {:content_type => "text/xml; charset=UTF-8"})
2489
+ end
2490
+ it "has the correct output" do
2491
+ @cli.status("55709764298092545")
2492
+ expect($stdout.string).to eq <<-eos
2493
+ ID 55709764298092551
2494
+ Text The problem with your code is that it's doing exactly what you told it to do.
2495
+ Screen name @sferik
2496
+ Posted at Apr 6 2011 (8 months ago)
2497
+ Location CA, USA
2498
+ Retweets 320
2499
+ Favorites 2
2500
+ Replies 1
2501
+ Source Twitter for iPhone
2502
+ URL https://twitter.com/sferik/status/55709764298092551
2503
+ eos
2504
+ end
2505
+ end
2506
+ context "with no state" do
2507
+ before do
2508
+ stub_get("/1.1/statuses/show/55709764298092545.json").with(:query => {:include_my_retweet => "false"}).to_return(:body => fixture("status_no_place.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2509
+ stub_request(:get, "http://maps.google.com/maps/geo").with(:query => hash_including({:key => "REPLACE_WITH_YOUR_GOOGLE_KEY", :oe => "utf-8", :output => "xml"})).to_return(:body => fixture("geo_no_state.kml"), :headers => {:content_type => "text/xml; charset=UTF-8"})
2510
+ end
2511
+ it "has the correct output" do
2512
+ @cli.status("55709764298092545")
2513
+ expect($stdout.string).to eq <<-eos
2514
+ ID 55709764298092551
2515
+ Text The problem with your code is that it's doing exactly what you told it to do.
2516
+ Screen name @sferik
2517
+ Posted at Apr 6 2011 (8 months ago)
2518
+ Location USA
2519
+ Retweets 320
2520
+ Favorites 2
2521
+ Replies 1
2522
+ Source Twitter for iPhone
2523
+ URL https://twitter.com/sferik/status/55709764298092551
2524
+ eos
2525
+ end
2526
+ end
2527
+ end
2438
2528
  end
2439
2529
 
2440
2530
  describe "#timeline" do
@@ -2442,11 +2532,11 @@ URL https://twitter.com/sferik/status/55709764298092548
2442
2532
  stub_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "20"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2443
2533
  end
2444
2534
  context "without user" do
2445
- it "should request the correct resource" do
2535
+ it "requests the correct resource" do
2446
2536
  @cli.timeline
2447
2537
  expect(a_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "20"})).to have_been_made
2448
2538
  end
2449
- it "should have the correct output" do
2539
+ it "has the correct output" do
2450
2540
  @cli.timeline
2451
2541
  expect($stdout.string).to eq <<-eos
2452
2542
  \e[1m\e[33m @mutgoff\e[0m
@@ -2531,11 +2621,11 @@ URL https://twitter.com/sferik/status/55709764298092548
2531
2621
  before do
2532
2622
  @cli.options = @cli.options.merge("csv" => true)
2533
2623
  end
2534
- it "should output in CSV format" do
2624
+ it "outputs in CSV format" do
2535
2625
  @cli.timeline
2536
2626
  expect($stdout.string).to eq <<-eos
2537
2627
  ID,Posted at,Screen name,Text
2538
- 244111636544225280,2012-09-07 16:35:24 +0000,mutgoff,Happy Birthday @imdane. Watch out for those @rally pranksters!
2628
+ 4611686018427387904,2012-09-07 16:35:24 +0000,mutgoff,Happy Birthday @imdane. Watch out for those @rally pranksters!
2539
2629
  244111183165157376,2012-09-07 16:33:36 +0000,ironicsans,"If you like good real-life stories, check out @NarrativelyNY's just-launched site http://t.co/wiUL07jE (and also visit http://t.co/ZoyQxqWA)"
2540
2630
  244110336414859264,2012-09-07 16:30:14 +0000,pat_shaughnessy,"Something else to vote for: ""New Rails workshops to bring more women into the Boston software scene"" http://t.co/eNBuckHc /cc @bostonrb"
2541
2631
  244109797308379136,2012-09-07 16:28:05 +0000,calebelston,Pushing the button to launch the site. http://t.co/qLoEn5jG
@@ -2558,64 +2648,84 @@ ID,Posted at,Screen name,Text
2558
2648
  eos
2559
2649
  end
2560
2650
  end
2651
+ context "--exclude=replies" do
2652
+ before do
2653
+ @cli.options = @cli.options.merge("exclude" => "replies")
2654
+ stub_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "20", :exclude_replies => "true"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2655
+ end
2656
+ it "excludes replies" do
2657
+ @cli.timeline
2658
+ expect(a_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "20", :exclude_replies => "true"})).to have_been_made
2659
+ end
2660
+ end
2661
+ context "--exclude=retweets" do
2662
+ before do
2663
+ @cli.options = @cli.options.merge("exclude" => "retweets")
2664
+ stub_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "20", :include_rts => "false"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2665
+ end
2666
+ it "excludes retweets" do
2667
+ @cli.timeline
2668
+ expect(a_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "20", :include_rts => "false"})).to have_been_made
2669
+ end
2670
+ end
2561
2671
  context "--long" do
2562
2672
  before do
2563
2673
  @cli.options = @cli.options.merge("long" => true)
2564
2674
  end
2565
- it "should output in long format" do
2675
+ it "outputs in long format" do
2566
2676
  @cli.timeline
2567
2677
  expect($stdout.string).to eq <<-eos
2568
- ID Posted at Screen name Text
2569
- 244111636544225280 Sep 7 08:35 @mutgoff Happy Birthday @imdane. W...
2570
- 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-lif...
2571
- 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote fo...
2572
- 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to lau...
2573
- 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosaic...
2574
- 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a M...
2575
- 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going to...
2576
- 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publishe...
2577
- 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how ...
2578
- 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober....
2579
- 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better banki...
2580
- 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic,...
2581
- 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> ge...
2582
- 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpor...
2583
- 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; P...
2584
- 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrats...
2585
- 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curiosi...
2586
- 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now h...
2587
- 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did y...
2588
- 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't figh...
2678
+ ID Posted at Screen name Text
2679
+ 4611686018427387904 Sep 7 08:35 @mutgoff Happy Birthday @imdane. ...
2680
+ 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-li...
2681
+ 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote f...
2682
+ 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to la...
2683
+ 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosai...
2684
+ 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a ...
2685
+ 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going t...
2686
+ 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publish...
2687
+ 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how...
2688
+ 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober...
2689
+ 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better bank...
2690
+ 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic...
2691
+ 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> g...
2692
+ 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpo...
2693
+ 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; ...
2694
+ 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrat...
2695
+ 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curios...
2696
+ 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now ...
2697
+ 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did ...
2698
+ 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't fig...
2589
2699
  eos
2590
2700
  end
2591
2701
  context "--reverse" do
2592
2702
  before do
2593
2703
  @cli.options = @cli.options.merge("reverse" => true)
2594
2704
  end
2595
- it "should reverse the order of the sort" do
2705
+ it "reverses the order of the sort" do
2596
2706
  @cli.timeline
2597
2707
  expect($stdout.string).to eq <<-eos
2598
- ID Posted at Screen name Text
2599
- 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't figh...
2600
- 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did y...
2601
- 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now h...
2602
- 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curiosi...
2603
- 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrats...
2604
- 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; P...
2605
- 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpor...
2606
- 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> ge...
2607
- 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic,...
2608
- 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better banki...
2609
- 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober....
2610
- 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how ...
2611
- 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publishe...
2612
- 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going to...
2613
- 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a M...
2614
- 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosaic...
2615
- 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to lau...
2616
- 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote fo...
2617
- 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-lif...
2618
- 244111636544225280 Sep 7 08:35 @mutgoff Happy Birthday @imdane. W...
2708
+ ID Posted at Screen name Text
2709
+ 244099460672679938 Sep 7 07:47 @dwiskus Gentlemen, you can't fig...
2710
+ 244100411563339777 Sep 7 07:50 @sferik @episod @twitterapi Did ...
2711
+ 244102209942458368 Sep 7 07:57 @sferik @episod @twitterapi now ...
2712
+ 244102490646278146 Sep 7 07:59 @jasonfried The story of Mars Curios...
2713
+ 244102729860009984 Sep 7 08:00 @dhh RT @ggreenwald: Democrat...
2714
+ 244102741125890048 Sep 7 08:00 @eveningedition LDN—Obama's nomination; ...
2715
+ 244102834398851073 Sep 7 08:00 @JEG2 RT @tenderlove: If corpo...
2716
+ 244103057175113729 Sep 7 08:01 @BarackObama Donate $10 or more --> g...
2717
+ 244104146997870594 Sep 7 08:05 @calebelston We just announced Mosaic...
2718
+ 244104558433951744 Sep 7 08:07 @al3x RT @wcmaier: Better bank...
2719
+ 244105599351148544 Sep 7 08:11 @FakeDorsey “Write drunk. Edit sober...
2720
+ 244106476048764928 Sep 7 08:14 @mbostock If you are wondering how...
2721
+ 244107236262170624 Sep 7 08:17 @fbjork RT @jondot: Just publish...
2722
+ 244107823733174272 Sep 7 08:20 @codeforamerica RT @randomhacks: Going t...
2723
+ 244107890632294400 Sep 7 08:20 @fivethirtyeight The Weatherman is Not a ...
2724
+ 244108728834592770 Sep 7 08:23 @calebelston RT @olivercameron: Mosai...
2725
+ 244109797308379136 Sep 7 08:28 @calebelston Pushing the button to la...
2726
+ 244110336414859264 Sep 7 08:30 @pat_shaughnessy Something else to vote f...
2727
+ 244111183165157376 Sep 7 08:33 @ironicsans If you like good real-li...
2728
+ 4611686018427387904 Sep 7 08:35 @mutgoff Happy Birthday @imdane. ...
2619
2729
  eos
2620
2730
  end
2621
2731
  end
@@ -2623,32 +2733,26 @@ ID Posted at Screen name Text
2623
2733
  context "--number" do
2624
2734
  before do
2625
2735
  stub_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "1"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2626
- stub_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "200"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2627
- stub_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "200", :max_id => "244099460672679937"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2628
- (5..185).step(20).to_a.reverse.each do |count|
2629
- stub_get("/1.1/statuses/home_timeline.json").with(:query => {:count => count, :max_id => "244099460672679937"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2630
- end
2736
+ stub_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "200"}).to_return(:body => fixture("200_statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2737
+ stub_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "1", :max_id => "265500541700956160"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2631
2738
  end
2632
- it "should limit the number of results to 1" do
2739
+ it "limits the number of results to 1" do
2633
2740
  @cli.options = @cli.options.merge("number" => 1)
2634
2741
  @cli.timeline
2635
2742
  expect(a_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "1"})).to have_been_made
2636
2743
  end
2637
- it "should limit the number of results to 345" do
2638
- @cli.options = @cli.options.merge("number" => 345)
2744
+ it "limits the number of results to 201" do
2745
+ @cli.options = @cli.options.merge("number" => 201)
2639
2746
  @cli.timeline
2640
2747
  expect(a_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "200"})).to have_been_made
2641
- expect(a_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "200", :max_id => "244099460672679937"})).to have_been_made.times(7)
2642
- (5..185).step(20).to_a.reverse.each do |count|
2643
- expect(a_get("/1.1/statuses/home_timeline.json").with(:query => {:count => count, :max_id => "244099460672679937"})).to have_been_made
2644
- end
2748
+ expect(a_get("/1.1/statuses/home_timeline.json").with(:query => {:count => "1", :max_id => "265500541700956160"})).to have_been_made
2645
2749
  end
2646
2750
  end
2647
2751
  context "with a user passed" do
2648
2752
  before do
2649
2753
  stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "20", :screen_name => "sferik"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2650
2754
  end
2651
- it "should request the correct resource" do
2755
+ it "requests the correct resource" do
2652
2756
  @cli.timeline("sferik")
2653
2757
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "20", :screen_name => "sferik"})).to have_been_made
2654
2758
  end
@@ -2657,7 +2761,7 @@ ID Posted at Screen name Text
2657
2761
  @cli.options = @cli.options.merge("id" => true)
2658
2762
  stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "20", :user_id => "7505382"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2659
2763
  end
2660
- it "should request the correct resource" do
2764
+ it "requests the correct resource" do
2661
2765
  @cli.timeline("7505382")
2662
2766
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "20", :user_id => "7505382"})).to have_been_made
2663
2767
  end
@@ -2665,25 +2769,19 @@ ID Posted at Screen name Text
2665
2769
  context "--number" do
2666
2770
  before do
2667
2771
  stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "1", :screen_name => "sferik"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2668
- stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :screen_name => "sferik"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2669
- stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :screen_name => "sferik", :max_id => "244099460672679937"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2670
- (5..185).step(20).to_a.reverse.each do |count|
2671
- stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => count, :screen_name => "sferik", :max_id => "244099460672679937"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2672
- end
2772
+ stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :screen_name => "sferik"}).to_return(:body => fixture("200_statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2773
+ stub_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "1", :screen_name => "sferik", :max_id => "265500541700956160"}).to_return(:body => fixture("statuses.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2673
2774
  end
2674
- it "should limit the number of results to 1" do
2775
+ it "limits the number of results to 1" do
2675
2776
  @cli.options = @cli.options.merge("number" => 1)
2676
2777
  @cli.timeline("sferik")
2677
2778
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "1", :screen_name => "sferik"})).to have_been_made
2678
2779
  end
2679
- it "should limit the number of results to 345" do
2680
- @cli.options = @cli.options.merge("number" => 345)
2780
+ it "limits the number of results to 201" do
2781
+ @cli.options = @cli.options.merge("number" => 201)
2681
2782
  @cli.timeline("sferik")
2682
2783
  expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :screen_name => "sferik"})).to have_been_made
2683
- expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "200", :screen_name => "sferik", :max_id => "244099460672679937"})).to have_been_made.times(7)
2684
- (5..185).step(20).to_a.reverse.each do |count|
2685
- expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => count, :screen_name => "sferik", :max_id => "244099460672679937"})).to have_been_made
2686
- end
2784
+ expect(a_get("/1.1/statuses/user_timeline.json").with(:query => {:count => "1", :screen_name => "sferik", :max_id => "265500541700956160"})).to have_been_made
2687
2785
  end
2688
2786
  end
2689
2787
  end
@@ -2693,11 +2791,11 @@ ID Posted at Screen name Text
2693
2791
  before do
2694
2792
  stub_get("/1.1/trends/place.json").with(:query => {:id => "1"}).to_return(:body => fixture("trends.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2695
2793
  end
2696
- it "should request the correct resource" do
2794
+ it "requests the correct resource" do
2697
2795
  @cli.trends
2698
2796
  expect(a_get("/1.1/trends/place.json").with(:query => {:id => "1"})).to have_been_made
2699
2797
  end
2700
- it "should have the correct output" do
2798
+ it "has the correct output" do
2701
2799
  @cli.trends
2702
2800
  expect($stdout.string.chomp).to eq "#sevenwordsaftersex Walkman Allen Iverson"
2703
2801
  end
@@ -2706,11 +2804,11 @@ ID Posted at Screen name Text
2706
2804
  @cli.options = @cli.options.merge("exclude-hashtags" => true)
2707
2805
  stub_get("/1.1/trends/place.json").with(:query => {:id => "1", :exclude => "hashtags"}).to_return(:body => fixture("trends.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2708
2806
  end
2709
- it "should request the correct resource" do
2807
+ it "requests the correct resource" do
2710
2808
  @cli.trends
2711
2809
  expect(a_get("/1.1/trends/place.json").with(:query => {:id => "1", :exclude => "hashtags"})).to have_been_made
2712
2810
  end
2713
- it "should have the correct output" do
2811
+ it "has the correct output" do
2714
2812
  @cli.trends
2715
2813
  expect($stdout.string.chomp).to eq "#sevenwordsaftersex Walkman Allen Iverson"
2716
2814
  end
@@ -2719,11 +2817,11 @@ ID Posted at Screen name Text
2719
2817
  before do
2720
2818
  stub_get("/1.1/trends/place.json").with(:query => {:id => "2487956"}).to_return(:body => fixture("trends.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2721
2819
  end
2722
- it "should request the correct resource" do
2820
+ it "requests the correct resource" do
2723
2821
  @cli.trends("2487956")
2724
2822
  expect(a_get("/1.1/trends/place.json").with(:query => {:id => "2487956"})).to have_been_made
2725
2823
  end
2726
- it "should have the correct output" do
2824
+ it "has the correct output" do
2727
2825
  @cli.trends("2487956")
2728
2826
  expect($stdout.string.chomp).to eq "#sevenwordsaftersex Walkman Allen Iverson"
2729
2827
  end
@@ -2734,11 +2832,11 @@ ID Posted at Screen name Text
2734
2832
  before do
2735
2833
  stub_get("/1.1/trends/available.json").to_return(:body => fixture("locations.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2736
2834
  end
2737
- it "should request the correct resource" do
2835
+ it "requests the correct resource" do
2738
2836
  @cli.trend_locations
2739
2837
  expect(a_get("/1.1/trends/available.json")).to have_been_made
2740
2838
  end
2741
- it "should have the correct output" do
2839
+ it "has the correct output" do
2742
2840
  @cli.trend_locations
2743
2841
  expect($stdout.string.chomp).to eq "Boston New York San Francisco United States Worldwide"
2744
2842
  end
@@ -2746,7 +2844,7 @@ ID Posted at Screen name Text
2746
2844
  before do
2747
2845
  @cli.options = @cli.options.merge("csv" => true)
2748
2846
  end
2749
- it "should output in CSV format" do
2847
+ it "outputs in CSV format" do
2750
2848
  @cli.trend_locations
2751
2849
  expect($stdout.string.chomp).to eq <<-eos.chomp
2752
2850
  WOEID,Parent ID,Type,Name,Country
@@ -2762,7 +2860,7 @@ WOEID,Parent ID,Type,Name,Country
2762
2860
  before do
2763
2861
  @cli.options = @cli.options.merge("long" => true)
2764
2862
  end
2765
- it "should output in long format" do
2863
+ it "outputs in long format" do
2766
2864
  @cli.trend_locations
2767
2865
  expect($stdout.string.chomp).to eq <<-eos.chomp
2768
2866
  WOEID Parent ID Type Name Country
@@ -2778,7 +2876,7 @@ WOEID Parent ID Type Name Country
2778
2876
  before do
2779
2877
  @cli.options = @cli.options.merge("reverse" => true)
2780
2878
  end
2781
- it "should reverse the order of the sort" do
2879
+ it "reverses the order of the sort" do
2782
2880
  @cli.trend_locations
2783
2881
  expect($stdout.string.chomp).to eq "Worldwide United States San Francisco New York Boston"
2784
2882
  end
@@ -2787,7 +2885,7 @@ WOEID Parent ID Type Name Country
2787
2885
  before do
2788
2886
  @cli.options = @cli.options.merge("sort" => "country")
2789
2887
  end
2790
- it "should sort by number of favorites" do
2888
+ it "sorts by number of favorites" do
2791
2889
  @cli.trend_locations
2792
2890
  expect($stdout.string.chomp).to eq "Worldwide New York Boston United States San Francisco"
2793
2891
  end
@@ -2796,7 +2894,7 @@ WOEID Parent ID Type Name Country
2796
2894
  before do
2797
2895
  @cli.options = @cli.options.merge("sort" => "parent")
2798
2896
  end
2799
- it "should sort by number of favorites" do
2897
+ it "sorts by number of favorites" do
2800
2898
  @cli.trend_locations
2801
2899
  expect($stdout.string.chomp).to eq "Boston Worldwide New York United States San Francisco"
2802
2900
  end
@@ -2805,7 +2903,7 @@ WOEID Parent ID Type Name Country
2805
2903
  before do
2806
2904
  @cli.options = @cli.options.merge("sort" => "type")
2807
2905
  end
2808
- it "should sort by number of favorites" do
2906
+ it "sorts by number of favorites" do
2809
2907
  @cli.trend_locations
2810
2908
  expect($stdout.string.chomp).to eq "United States Worldwide New York Boston San Francisco"
2811
2909
  end
@@ -2814,7 +2912,7 @@ WOEID Parent ID Type Name Country
2814
2912
  before do
2815
2913
  @cli.options = @cli.options.merge("sort" => "woeid")
2816
2914
  end
2817
- it "should sort by number of favorites" do
2915
+ it "sorts by number of favorites" do
2818
2916
  @cli.trend_locations
2819
2917
  expect($stdout.string.chomp).to eq "Worldwide Boston New York San Francisco United States"
2820
2918
  end
@@ -2823,7 +2921,7 @@ WOEID Parent ID Type Name Country
2823
2921
  before do
2824
2922
  @cli.options = @cli.options.merge("unsorted" => true)
2825
2923
  end
2826
- it "should not be sorted" do
2924
+ it "is not sorted" do
2827
2925
  @cli.trend_locations
2828
2926
  expect($stdout.string.chomp).to eq "Boston Worldwide New York United States San Francisco"
2829
2927
  end
@@ -2835,12 +2933,12 @@ WOEID Parent ID Type Name Country
2835
2933
  @cli.options = @cli.options.merge("profile" => fixture_path + "/.trc")
2836
2934
  end
2837
2935
  context "one user" do
2838
- it "should request the correct resource" do
2936
+ it "requests the correct resource" do
2839
2937
  stub_post("/1.1/friendships/destroy.json").with(:body => {:screen_name => "sferik"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2840
2938
  @cli.unfollow("sferik")
2841
2939
  expect(a_post("/1.1/friendships/destroy.json").with(:body => {:screen_name => "sferik"})).to have_been_made
2842
2940
  end
2843
- it "should have the correct output" do
2941
+ it "has the correct output" do
2844
2942
  stub_post("/1.1/friendships/destroy.json").with(:body => {:screen_name => "sferik"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2845
2943
  @cli.unfollow("sferik")
2846
2944
  expect($stdout.string).to match /^@testcli is no longer following 1 user\.$/
@@ -2850,13 +2948,13 @@ WOEID Parent ID Type Name Country
2850
2948
  @cli.options = @cli.options.merge("id" => true)
2851
2949
  stub_post("/1.1/friendships/destroy.json").with(:body => {:user_id => "7505382"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2852
2950
  end
2853
- it "should request the correct resource" do
2951
+ it "requests the correct resource" do
2854
2952
  @cli.unfollow("7505382")
2855
2953
  expect(a_post("/1.1/friendships/destroy.json").with(:body => {:user_id => "7505382"})).to have_been_made
2856
2954
  end
2857
2955
  end
2858
2956
  context "Twitter is down" do
2859
- it "should retry 3 times and then raise an error" do
2957
+ it "retries 3 times and then raise an error" do
2860
2958
  stub_post("/1.1/friendships/destroy.json").with(:body => {:screen_name => "sferik"}).to_return(:status => 502)
2861
2959
  expect do
2862
2960
  @cli.unfollow("sferik")
@@ -2874,13 +2972,13 @@ WOEID Parent ID Type Name Country
2874
2972
  stub_request(:get, "http://checkip.dyndns.org/").to_return(:body => fixture("checkip.html"), :headers => {:content_type => "text/html"})
2875
2973
  stub_request(:get, "http://www.geoplugin.net/xml.gp?ip=50.131.22.169").to_return(:body => fixture("geoplugin.xml"), :headers => {:content_type => "application/xml"})
2876
2974
  end
2877
- it "should request the correct resource" do
2975
+ it "requests the correct resource" do
2878
2976
  @cli.update("Testing")
2879
2977
  expect(a_post("/1.1/statuses/update.json").with(:body => {:status => "Testing", :lat => "37.76969909668", :long => "-122.39330291748", :trim_user => "true"})).to have_been_made
2880
2978
  expect(a_request(:get, "http://checkip.dyndns.org/")).to have_been_made
2881
2979
  expect(a_request(:get, "http://www.geoplugin.net/xml.gp?ip=50.131.22.169")).to have_been_made
2882
2980
  end
2883
- it "should have the correct output" do
2981
+ it "has the correct output" do
2884
2982
  @cli.update("Testing")
2885
2983
  expect($stdout.string.split("\n").first).to eq "Tweet posted by @testcli."
2886
2984
  end
@@ -2889,11 +2987,11 @@ WOEID Parent ID Type Name Country
2889
2987
  @cli.options = @cli.options.merge("file" => fixture_path + "/long.png")
2890
2988
  stub_post("/1.1/statuses/update_with_media.json").to_return(:body => fixture("status.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2891
2989
  end
2892
- it "should request the correct resource" do
2990
+ it "requests the correct resource" do
2893
2991
  @cli.update("Testing")
2894
2992
  expect(a_post("/1.1/statuses/update_with_media.json")).to have_been_made
2895
2993
  end
2896
- it "should have the correct output" do
2994
+ it "has the correct output" do
2897
2995
  @cli.update("Testing")
2898
2996
  expect($stdout.string.split("\n").first).to eq "Tweet posted by @testcli."
2899
2997
  end
@@ -2904,11 +3002,11 @@ WOEID Parent ID Type Name Country
2904
3002
  before do
2905
3003
  stub_post("/1.1/users/lookup.json").with(:body => {:screen_name => "sferik,pengwynn"}).to_return(:body => fixture("users.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2906
3004
  end
2907
- it "should request the correct resource" do
3005
+ it "requests the correct resource" do
2908
3006
  @cli.users("sferik", "pengwynn")
2909
3007
  expect(a_post("/1.1/users/lookup.json").with(:body => {:screen_name => "sferik,pengwynn"})).to have_been_made
2910
3008
  end
2911
- it "should have the correct output" do
3009
+ it "has the correct output" do
2912
3010
  @cli.users("sferik", "pengwynn")
2913
3011
  expect($stdout.string.chomp).to eq "pengwynn sferik"
2914
3012
  end
@@ -2916,7 +3014,7 @@ WOEID Parent ID Type Name Country
2916
3014
  before do
2917
3015
  @cli.options = @cli.options.merge("csv" => true)
2918
3016
  end
2919
- it "should output in CSV format" do
3017
+ it "outputs in CSV format" do
2920
3018
  @cli.users("sferik", "pengwynn")
2921
3019
  expect($stdout.string).to eq <<-eos
2922
3020
  ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name,Name
@@ -2929,7 +3027,7 @@ ID,Since,Last tweeted at,Tweets,Favorites,Listed,Following,Followers,Screen name
2929
3027
  before do
2930
3028
  @cli.options = @cli.options.merge("long" => true)
2931
3029
  end
2932
- it "should output in long format" do
3030
+ it "outputs in long format" do
2933
3031
  @cli.users("sferik", "pengwynn")
2934
3032
  expect($stdout.string).to eq <<-eos
2935
3033
  ID Since Last tweeted at Tweets Favorites Listed Following...
@@ -2942,7 +3040,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
2942
3040
  before do
2943
3041
  @cli.options = @cli.options.merge("reverse" => true)
2944
3042
  end
2945
- it "should reverse the order of the sort" do
3043
+ it "reverses the order of the sort" do
2946
3044
  @cli.users("sferik", "pengwynn")
2947
3045
  expect($stdout.string.chomp).to eq "sferik pengwynn"
2948
3046
  end
@@ -2951,7 +3049,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
2951
3049
  before do
2952
3050
  @cli.options = @cli.options.merge("sort" => "favorites")
2953
3051
  end
2954
- it "should sort by number of favorites" do
3052
+ it "sorts by number of favorites" do
2955
3053
  @cli.users("sferik", "pengwynn")
2956
3054
  expect($stdout.string.chomp).to eq "pengwynn sferik"
2957
3055
  end
@@ -2960,7 +3058,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
2960
3058
  before do
2961
3059
  @cli.options = @cli.options.merge("sort" => "followers")
2962
3060
  end
2963
- it "should sort by number of followers" do
3061
+ it "sorts by number of followers" do
2964
3062
  @cli.users("sferik", "pengwynn")
2965
3063
  expect($stdout.string.chomp).to eq "sferik pengwynn"
2966
3064
  end
@@ -2969,7 +3067,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
2969
3067
  before do
2970
3068
  @cli.options = @cli.options.merge("sort" => "friends")
2971
3069
  end
2972
- it "should sort by number of friends" do
3070
+ it "sorts by number of friends" do
2973
3071
  @cli.users("sferik", "pengwynn")
2974
3072
  expect($stdout.string.chomp).to eq "sferik pengwynn"
2975
3073
  end
@@ -2979,7 +3077,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
2979
3077
  @cli.options = @cli.options.merge("id" => true)
2980
3078
  stub_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382,14100886"}).to_return(:body => fixture("users.json"), :headers => {:content_type => "application/json; charset=utf-8"})
2981
3079
  end
2982
- it "should request the correct resource" do
3080
+ it "requests the correct resource" do
2983
3081
  @cli.users("7505382", "14100886")
2984
3082
  expect(a_post("/1.1/users/lookup.json").with(:body => {:user_id => "7505382,14100886"})).to have_been_made
2985
3083
  end
@@ -2988,7 +3086,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
2988
3086
  before do
2989
3087
  @cli.options = @cli.options.merge("sort" => "listed")
2990
3088
  end
2991
- it "should sort by number of list memberships" do
3089
+ it "sorts by number of list memberships" do
2992
3090
  @cli.users("sferik", "pengwynn")
2993
3091
  expect($stdout.string.chomp).to eq "sferik pengwynn"
2994
3092
  end
@@ -2997,7 +3095,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
2997
3095
  before do
2998
3096
  @cli.options = @cli.options.merge("sort" => "since")
2999
3097
  end
3000
- it "should sort by the time when Twitter acount was created" do
3098
+ it "sorts by the time when Twitter acount was created" do
3001
3099
  @cli.users("sferik", "pengwynn")
3002
3100
  expect($stdout.string.chomp).to eq "sferik pengwynn"
3003
3101
  end
@@ -3006,7 +3104,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
3006
3104
  before do
3007
3105
  @cli.options = @cli.options.merge("sort" => "tweets")
3008
3106
  end
3009
- it "should sort by number of Tweets" do
3107
+ it "sorts by number of Tweets" do
3010
3108
  @cli.users("sferik", "pengwynn")
3011
3109
  expect($stdout.string.chomp).to eq "pengwynn sferik"
3012
3110
  end
@@ -3015,7 +3113,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
3015
3113
  before do
3016
3114
  @cli.options = @cli.options.merge("sort" => "tweeted")
3017
3115
  end
3018
- it "should sort by the time of the last Tweet" do
3116
+ it "sorts by the time of the last Tweet" do
3019
3117
  @cli.users("sferik", "pengwynn")
3020
3118
  expect($stdout.string.chomp).to eq "pengwynn sferik"
3021
3119
  end
@@ -3024,7 +3122,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
3024
3122
  before do
3025
3123
  @cli.options = @cli.options.merge("unsorted" => true)
3026
3124
  end
3027
- it "should not be sorted" do
3125
+ it "is not sorted" do
3028
3126
  @cli.users("sferik", "pengwynn")
3029
3127
  expect($stdout.string.chomp).to eq "pengwynn sferik"
3030
3128
  end
@@ -3032,7 +3130,7 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
3032
3130
  end
3033
3131
 
3034
3132
  describe "#version" do
3035
- it "should have the correct output" do
3133
+ it "has the correct output" do
3036
3134
  @cli.version
3037
3135
  expect($stdout.string.chomp).to eq T::Version.to_s
3038
3136
  end
@@ -3042,11 +3140,11 @@ ID Since Last tweeted at Tweets Favorites Listed Following...
3042
3140
  before do
3043
3141
  stub_get("/1.1/users/show.json").with(:query => {:screen_name => "sferik"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
3044
3142
  end
3045
- it "should request the correct resource" do
3143
+ it "requests the correct resource" do
3046
3144
  @cli.whois("sferik")
3047
3145
  expect(a_get("/1.1/users/show.json").with(:query => {:screen_name => "sferik"})).to have_been_made
3048
3146
  end
3049
- it "should have the correct output" do
3147
+ it "has the correct output" do
3050
3148
  @cli.whois("sferik")
3051
3149
  expect($stdout.string).to eq <<-eos
3052
3150
  ID 7505382
@@ -3068,7 +3166,7 @@ URL https://github.com/sferik
3068
3166
  before do
3069
3167
  @cli.options = @cli.options.merge("csv" => true)
3070
3168
  end
3071
- it "should have the correct output" do
3169
+ it "has the correct output" do
3072
3170
  @cli.whois("sferik")
3073
3171
  expect($stdout.string).to eq <<-eos
3074
3172
  ID,Verified,Name,Screen name,Bio,Location,Following,Last update,Lasted updated at,Since,Tweets,Favorites,Listed,Following,Followers,URL
@@ -3081,7 +3179,7 @@ ID,Verified,Name,Screen name,Bio,Location,Following,Last update,Lasted updated a
3081
3179
  @cli.options = @cli.options.merge("id" => true)
3082
3180
  stub_get("/1.1/users/show.json").with(:query => {:user_id => "7505382"}).to_return(:body => fixture("sferik.json"), :headers => {:content_type => "application/json; charset=utf-8"})
3083
3181
  end
3084
- it "should request the correct resource" do
3182
+ it "requests the correct resource" do
3085
3183
  @cli.whois("7505382")
3086
3184
  expect(a_get("/1.1/users/show.json").with(:query => {:user_id => "7505382"})).to have_been_made
3087
3185
  end