command_line_reporter 3.3.6 → 4.0.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.
@@ -5,9 +5,9 @@ describe CommandLineReporter::NestedFormatter do
5
5
 
6
6
  let(:controls) do
7
7
  {
8
- :clear => "\e[0m",
9
- :bold => "\e[1m",
10
- :red => "\e[31m",
8
+ clear: "\e[0m",
9
+ bold: "\e[1m",
10
+ red: "\e[31m"
11
11
  }
12
12
  end
13
13
 
@@ -40,25 +40,25 @@ describe CommandLineReporter::NestedFormatter do
40
40
  end
41
41
 
42
42
  it 'raises exception when there is an invalid argument' do
43
- expect {
44
- subject.format({:asdf => true}, lambda { })
45
- }.to raise_exception ArgumentError
43
+ expect do
44
+ subject.format({ asdf: true }, -> {})
45
+ end.to raise_exception ArgumentError
46
46
  end
47
47
 
48
48
  it 'raises an exception when a block is not given' do
49
- expect {
50
- subject.format({:message => 'test'})
51
- }.to raise_exception
49
+ expect do
50
+ subject.format(message: 'test')
51
+ end.to raise_exception Exception
52
52
  end
53
53
 
54
54
  it 'accepts valid arguments' do
55
55
  expect(subject).to receive(:puts).with('test')
56
56
  expect(subject).to receive(:puts).with('complete')
57
57
 
58
- expect {
59
- subject.format({:message => 'test'}, lambda { }) do
58
+ expect do
59
+ subject.format({ message: 'test' }, -> {}) do
60
60
  end
61
- }.not_to raise_exception
61
+ end.not_to raise_exception
62
62
  end
63
63
  end
64
64
 
@@ -78,28 +78,28 @@ describe CommandLineReporter::NestedFormatter do
78
78
  expect(subject).to receive(:puts).with('working')
79
79
  expect(subject).to receive(:puts).with('complete')
80
80
 
81
- subject.format({ }, lambda { })
81
+ subject.format({}, -> {})
82
82
  end
83
83
 
84
84
  it 'performs a wrapped report with color' do
85
85
  expect(subject).to receive(:puts).with("#{controls[:red]}working#{controls[:clear]}")
86
86
  expect(subject).to receive(:puts).with("#{controls[:red]}complete#{controls[:clear]}")
87
87
 
88
- subject.format({:color => 'red'}, lambda { })
88
+ subject.format({ color: 'red' }, -> {})
89
89
  end
90
90
 
91
91
  it 'performs a wrapped report with color' do
92
92
  expect(subject).to receive(:puts).with("#{controls[:bold]}working#{controls[:clear]}")
93
93
  expect(subject).to receive(:puts).with("#{controls[:bold]}complete#{controls[:clear]}")
94
94
 
95
- subject.format({:bold => true}, lambda { })
95
+ subject.format({ bold: true }, -> {})
96
96
  end
97
97
 
98
98
  it 'performs a wrapped report overriding the message' do
99
99
  expect(subject).to receive(:puts).with('test')
100
100
  expect(subject).to receive(:puts).with('complete')
101
101
 
102
- subject.format({:message => 'test'}, lambda { })
102
+ subject.format({ message: 'test' }, -> {})
103
103
  end
104
104
 
105
105
  it 'performs an inline report' do
@@ -108,8 +108,8 @@ describe CommandLineReporter::NestedFormatter do
108
108
  expect(subject).to receive(:print).with('test2...')
109
109
  expect(subject).to receive(:puts).with('complete')
110
110
 
111
- subject.format({:message => 'test', :type => 'inline'}, lambda { })
112
- subject.format({:message => 'test2', :type => 'inline'}, lambda { })
111
+ subject.format({ message: 'test', type: 'inline' }, -> {})
112
+ subject.format({ message: 'test2', type: 'inline' }, -> {})
113
113
  end
114
114
 
115
115
  it 'overrides the default for all invocations of a wrapped report' do
@@ -119,8 +119,8 @@ describe CommandLineReporter::NestedFormatter do
119
119
  expect(subject).to receive(:puts).with('test2')
120
120
  expect(subject).to receive(:puts).with('done')
121
121
 
122
- subject.format({:message => 'test'}, lambda { })
123
- subject.format({:message => 'test2'}, lambda { })
122
+ subject.format({ message: 'test' }, -> {})
123
+ subject.format({ message: 'test2' }, -> {})
124
124
  end
125
125
 
126
126
  it 'overrides the default complete string for a wrapped report' do
@@ -129,8 +129,8 @@ describe CommandLineReporter::NestedFormatter do
129
129
  expect(subject).to receive(:puts).with('test2')
130
130
  expect(subject).to receive(:puts).with('finally')
131
131
 
132
- subject.format({:message => 'test', :complete => 'done'}, lambda { })
133
- subject.format({:message => 'test2', :complete => 'finally'}, lambda { })
132
+ subject.format({ message: 'test', complete: 'done' }, -> {})
133
+ subject.format({ message: 'test2', complete: 'finally' }, -> {})
134
134
  end
135
135
 
136
136
  it 'overrides the default complete string for an inline report' do
@@ -139,8 +139,8 @@ describe CommandLineReporter::NestedFormatter do
139
139
  expect(subject).to receive(:print).with('test2...')
140
140
  expect(subject).to receive(:puts).with('finally')
141
141
 
142
- subject.format({:message => 'test', :type => 'inline', :complete => 'done'}, lambda { })
143
- subject.format({:message => 'test2', :type => 'inline', :complete => 'finally'}, lambda { })
142
+ subject.format({ message: 'test', type: 'inline', complete: 'done' }, -> {})
143
+ subject.format({ message: 'test2', type: 'inline', complete: 'finally' }, -> {})
144
144
  end
145
145
 
146
146
  it 'performs another wrapped report to ensure defaul behavior' do
@@ -149,8 +149,8 @@ describe CommandLineReporter::NestedFormatter do
149
149
  expect(subject).to receive(:puts).with('test2')
150
150
  expect(subject).to receive(:puts).with('complete')
151
151
 
152
- subject.format({:message => 'test'}, lambda { })
153
- subject.format({:message => 'test2'}, lambda { })
152
+ subject.format({ message: 'test' }, -> {})
153
+ subject.format({ message: 'test2' }, -> {})
154
154
  end
155
155
  end
156
156
 
@@ -170,9 +170,9 @@ describe CommandLineReporter::NestedFormatter do
170
170
  expect(subject).to receive(:puts).with(' complete')
171
171
  expect(subject).to receive(:puts).with('complete')
172
172
 
173
- subject.format({:message => 'test'}, lambda {
174
- subject.format({:message => 'test2'}, lambda {})
175
- })
173
+ subject.format({ message: 'test' }, lambda do
174
+ subject.format({ message: 'test2' }, -> {})
175
+ end)
176
176
  end
177
177
 
178
178
  it 'indents the nested wrapped messages and outputs color' do
@@ -181,9 +181,9 @@ describe CommandLineReporter::NestedFormatter do
181
181
  expect(subject).to receive(:puts).with("#{controls[:red]} complete#{controls[:clear]}")
182
182
  expect(subject).to receive(:puts).with("#{controls[:red]}complete#{controls[:clear]}")
183
183
 
184
- subject.format({:message => 'test', :color => 'red'}, lambda {
185
- subject.format({:message => 'test2', :color => 'red'}, lambda {})
186
- })
184
+ subject.format({ message: 'test', color: 'red' }, lambda do
185
+ subject.format({ message: 'test2', color: 'red' }, -> {})
186
+ end)
187
187
  end
188
188
 
189
189
  it 'indents the nested wrapped messages and outputs bold' do
@@ -192,9 +192,9 @@ describe CommandLineReporter::NestedFormatter do
192
192
  expect(subject).to receive(:puts).with("#{controls[:bold]} complete#{controls[:clear]}")
193
193
  expect(subject).to receive(:puts).with("#{controls[:bold]}complete#{controls[:clear]}")
194
194
 
195
- subject.format({:message => 'test', :bold => true}, lambda {
196
- subject.format({:message => 'test2', :bold => true}, lambda {})
197
- })
195
+ subject.format({ message: 'test', bold: true }, lambda do
196
+ subject.format({ message: 'test2', bold: true }, -> {})
197
+ end)
198
198
  end
199
199
 
200
200
  it 'indents the multiple nested wrapped messages' do
@@ -205,11 +205,11 @@ describe CommandLineReporter::NestedFormatter do
205
205
  expect(subject).to receive(:puts).with(' complete')
206
206
  expect(subject).to receive(:puts).with('complete')
207
207
 
208
- subject.format({:message => 'test'}, lambda {
209
- subject.format({:message => 'test2'}, lambda {
210
- subject.format({:message => 'test3'}, lambda { })
211
- })
212
- })
208
+ subject.format({ message: 'test' }, lambda do
209
+ subject.format({ message: 'test2' }, lambda do
210
+ subject.format({ message: 'test3' }, -> {})
211
+ end)
212
+ end)
213
213
  end
214
214
 
215
215
  it 'indents the nested wrapped and inline messages' do
@@ -218,9 +218,9 @@ describe CommandLineReporter::NestedFormatter do
218
218
  expect(subject).to receive(:puts).with('complete')
219
219
  expect(subject).to receive(:puts).with('complete')
220
220
 
221
- subject.format({:message => 'test'}, lambda {
222
- subject.format({:message => 'test2', :type => 'inline'}, lambda { })
223
- })
221
+ subject.format({ message: 'test' }, lambda do
222
+ subject.format({ message: 'test2', type: 'inline' }, -> {})
223
+ end)
224
224
  end
225
225
 
226
226
  it 'indents the multiple nested wrapped messages' do
@@ -231,11 +231,11 @@ describe CommandLineReporter::NestedFormatter do
231
231
  expect(subject).to receive(:puts).with(' complete')
232
232
  expect(subject).to receive(:puts).with('complete')
233
233
 
234
- subject.format({:message => 'test'}, lambda {
235
- subject.format({:message => 'test2'}, lambda {
236
- subject.format({:message => 'test3', :type => 'inline'}, lambda { })
237
- })
238
- })
234
+ subject.format({ message: 'test' }, lambda do
235
+ subject.format({ message: 'test2' }, lambda do
236
+ subject.format({ message: 'test3', type: 'inline' }, -> {})
237
+ end)
238
+ end)
239
239
  end
240
240
 
241
241
  it 'overrides the indent spacing of all messages' do
@@ -248,11 +248,11 @@ describe CommandLineReporter::NestedFormatter do
248
248
 
249
249
  subject.indent_size = 4
250
250
 
251
- subject.format({:message => 'test'}, lambda {
252
- subject.format({:message => 'test2'}, lambda {
253
- subject.format({:message => 'test3', :type => 'inline'}, lambda { })
254
- })
255
- })
251
+ subject.format({ message: 'test' }, lambda do
252
+ subject.format({ message: 'test2' }, lambda do
253
+ subject.format({ message: 'test3', type: 'inline' }, -> {})
254
+ end)
255
+ end)
256
256
  end
257
257
 
258
258
  it 'overrides the indent spacing of specific message' do
@@ -265,15 +265,15 @@ describe CommandLineReporter::NestedFormatter do
265
265
 
266
266
  subject.indent_size = 4
267
267
 
268
- subject.format({:message => 'test'}, lambda {
269
- subject.format({:message => 'test2', :indent_size => 6}, lambda {
270
- subject.format({:message => 'test3', :type => 'inline', :indent_size => 3}, lambda { })
271
- })
272
- })
268
+ subject.format({ message: 'test' }, lambda do
269
+ subject.format({ message: 'test2', indent_size: 6 }, lambda do
270
+ subject.format({ message: 'test3', type: 'inline', indent_size: 3 }, -> {})
271
+ end)
272
+ end)
273
273
  end
274
274
 
275
275
  it 'performs the sums specified in the block' do
276
- x,y,z = 0,0,0
276
+ x, y, z = 0, 0, 0
277
277
 
278
278
  expect(subject).to receive(:puts).with('sum x and 10')
279
279
  expect(subject).to receive(:puts).with(' y is the difference of 20 and x')
@@ -282,15 +282,15 @@ describe CommandLineReporter::NestedFormatter do
282
282
  expect(subject).to receive(:puts).with(' complete')
283
283
  expect(subject).to receive(:puts).with('complete')
284
284
 
285
- subject.format({:message => 'sum x and 10'}, lambda {
286
- x = x + 10
287
- subject.format({:message => 'y is the difference of 20 and x'}, lambda {
285
+ subject.format({ message: 'sum x and 10' }, lambda do
286
+ x += 10
287
+ subject.format({ message: 'y is the difference of 20 and x' }, lambda do
288
288
  y = 20 - x
289
- subject.format({:message => 'z = x + y'}, lambda {
289
+ subject.format({ message: 'z = x + y' }, lambda do
290
290
  z = x + y
291
- })
292
- })
293
- })
291
+ end)
292
+ end)
293
+ end)
294
294
 
295
295
  expect(x).to eq(10)
296
296
  expect(y).to eq(10)
@@ -4,21 +4,21 @@ describe OptionsValidator do
4
4
  subject { Class.new.extend(OptionsValidator) }
5
5
 
6
6
  it 'accepts single key options' do
7
- expect {
8
- subject.validate_options({:valid => true}, :valid)
9
- }.to_not raise_error
7
+ expect do
8
+ subject.validate_options({ valid: true }, :valid)
9
+ end.to_not raise_error Exception
10
10
  end
11
11
 
12
12
  it 'rejects invalid option hashes' do
13
- expect {
14
- subject.validate_options({:wrong => true}, :valid)
15
- }.to raise_error ArgumentError
13
+ expect do
14
+ subject.validate_options({ wrong: true }, :valid)
15
+ end.to raise_error ArgumentError
16
16
  end
17
17
 
18
18
  it 'accepts multi-key options' do
19
- expect {
20
- valid = [:valid, :another]
21
- subject.validate_options({:valid => true, :another => true}, *valid)
22
- }.to_not raise_error
19
+ expect do
20
+ valid = %i[valid another]
21
+ subject.validate_options({ valid: true, another: true }, *valid)
22
+ end.to_not raise_error Exception
23
23
  end
24
24
  end
@@ -12,9 +12,9 @@ describe CommandLineReporter::ProgressFormatter do
12
12
 
13
13
  let :controls do
14
14
  {
15
- :clear => "\e[0m",
16
- :bold => "\e[1m",
17
- :red => "\e[31m",
15
+ clear: "\e[0m",
16
+ bold: "\e[1m",
17
+ red: "\e[31m"
18
18
  }
19
19
  end
20
20
 
@@ -23,27 +23,21 @@ describe CommandLineReporter::ProgressFormatter do
23
23
  expect(subject).to receive(:print).exactly(10).times.with('.')
24
24
  expect(subject).to receive(:puts).exactly(1).times
25
25
 
26
- subject.format({}, lambda {
27
- 10.times {subject.progress}
28
- })
26
+ subject.format({}, -> { 10.times { subject.progress } })
29
27
  end
30
28
 
31
29
  it 'displays colored red dots for the indicator' do
32
30
  expect(subject).to receive(:print).exactly(10).times.with("#{controls[:red]}.#{controls[:clear]}")
33
31
  expect(subject).to receive(:puts).exactly(1).times
34
32
 
35
- subject.format({:color => 'red'}, lambda {
36
- 10.times {subject.progress}
37
- })
33
+ subject.format({ color: 'red' }, -> { 10.times { subject.progress } })
38
34
  end
39
35
 
40
36
  it 'displays BOLD dots for the indicator' do
41
37
  expect(subject).to receive(:print).exactly(10).times.with("#{controls[:bold]}.#{controls[:clear]}")
42
38
  expect(subject).to receive(:puts).exactly(1).times
43
39
 
44
- subject.format({:bold => true}, lambda {
45
- 10.times {subject.progress}
46
- })
40
+ subject.format({ bold: true }, -> { 10.times { subject.progress } })
47
41
  end
48
42
 
49
43
  it 'uses the defined indicator' do
@@ -51,19 +45,14 @@ describe CommandLineReporter::ProgressFormatter do
51
45
  expect(subject).to receive(:print).exactly(10).times.with('+')
52
46
  expect(subject).to receive(:puts)
53
47
 
54
- subject.format({}, lambda {
55
- 10.times {subject.progress}
56
- })
57
-
48
+ subject.format({}, -> { 10.times { subject.progress } })
58
49
  end
59
50
 
60
51
  it 'allows override of the indicator' do
61
52
  expect(subject).to receive(:print).exactly(10).times.with('=')
62
53
  expect(subject).to receive(:puts)
63
54
 
64
- subject.format({:indicator => '='}, lambda {
65
- 10.times {subject.progress}
66
- })
55
+ subject.format({ indicator: '=' }, -> { 10.times { subject.progress } })
67
56
  end
68
57
  end
69
58
 
@@ -72,18 +61,14 @@ describe CommandLineReporter::ProgressFormatter do
72
61
  expect(subject).to receive(:print).exactly(10).times.with('+')
73
62
  expect(subject).to receive(:puts)
74
63
 
75
- subject.format({}, lambda {
76
- 10.times {subject.progress('+')}
77
- })
64
+ subject.format({}, -> { 10.times { subject.progress('+') } })
78
65
  end
79
66
 
80
67
  it 'allows any indicator' do
81
68
  expect(subject).to receive(:print).exactly(10).times
82
69
  expect(subject).to receive(:puts)
83
70
 
84
- subject.format({}, lambda {
85
- 10.times {|i| subject.progress("#{i}")}
86
- })
71
+ subject.format({}, -> { 10.times { |i| subject.progress("#{i}") } })
87
72
  end
88
73
  end
89
74
  end
@@ -1,44 +1,46 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe CommandLineReporter::Row do
4
- let(:cols) { 10.times.map {|v| CommandLineReporter::Column.new("test#{v}")} }
4
+ let(:cols) { Array.new(10) { |v| CommandLineReporter::Column.new("test#{v}") } }
5
5
 
6
6
  describe '#initialize' do
7
+ subject { CommandLineReporter::Row }
8
+
7
9
  it 'accepts header' do
8
- expect(CommandLineReporter::Row.new(:header => true).header).to be true
10
+ expect(subject.new(header: true).header).to be true
9
11
  end
10
12
 
11
13
  it 'accepts color' do
12
- expect(CommandLineReporter::Row.new(:color => 'red').color).to eq('red')
14
+ expect(subject.new(color: 'red').color).to eq('red')
13
15
  end
14
16
 
15
17
  it 'accepts bold' do
16
- expect(CommandLineReporter::Row.new(:bold => true).bold).to be true
18
+ expect(subject.new(bold: true).bold).to be true
17
19
  end
18
20
 
19
21
  it 'output encoding should be ascii' do
20
- expect(CommandLineReporter::Row.new(:encoding => :ascii).encoding).to eq(:ascii)
22
+ expect(subject.new(encoding: :ascii).encoding).to eq(:ascii)
21
23
  end
22
24
 
23
25
  it 'output encoding should be unicode' do
24
- expect(CommandLineReporter::Row.new.encoding).to eq(:unicode)
26
+ expect(subject.new.encoding).to eq(:unicode)
25
27
  end
26
-
27
28
  end
28
29
 
29
30
  describe '#add' do
30
- subject { CommandLineReporter::Row.new }
31
+ subject { CommandLineReporter::Row }
31
32
 
32
33
  it 'columns' do
33
- subject.add(cols[0])
34
- expect(subject.columns.size).to eq(1)
35
- expect(subject.columns[0]).to eq(cols[0])
36
- subject.add(cols[1])
37
- expect(subject.columns).to eq(cols[0,2])
34
+ row = CommandLineReporter::Row.new
35
+ row.add(cols[0])
36
+ expect(row.columns.size).to eq(1)
37
+ expect(row.columns[0]).to eq(cols[0])
38
+ row.add(cols[1])
39
+ expect(row.columns).to eq(cols[0, 2])
38
40
  end
39
41
 
40
42
  it 'defaults colors on columns' do
41
- row = CommandLineReporter::Row.new(:color => 'red')
43
+ row = subject.new(color: 'red')
42
44
  row.add(cols[0])
43
45
  expect(row.columns[0].color).to eq('red')
44
46
  row.add(cols[1])
@@ -46,14 +48,14 @@ describe CommandLineReporter::Row do
46
48
  end
47
49
 
48
50
  it 'allows columns to override the row color' do
49
- col = CommandLineReporter::Column.new('test', :color => 'blue')
50
- row = CommandLineReporter::Row.new(:color => 'red')
51
+ col = CommandLineReporter::Column.new('test', color: 'blue')
52
+ row = subject.new(color: 'red')
51
53
  row.add(col)
52
54
  expect(row.columns[0].color).to eq('blue')
53
55
  end
54
56
 
55
57
  it 'supercedes bold on columns' do
56
- row = CommandLineReporter::Row.new(:bold => true)
58
+ row = subject.new(bold: true)
57
59
  row.add(cols[0])
58
60
  expect(row.columns[0].bold).to be true
59
61
  row.add(cols[1])
@@ -65,11 +67,11 @@ describe CommandLineReporter::Row do
65
67
  let :cols do
66
68
  [
67
69
  CommandLineReporter::Column.new('asdf'),
68
- CommandLineReporter::Column.new('qwer', :align => 'center'),
69
- CommandLineReporter::Column.new('zxcv', :align => 'right'),
70
- CommandLineReporter::Column.new('x' * 25, :align => 'left', :width => 10),
71
- CommandLineReporter::Column.new('x' * 25, :align => 'center', :width => 10),
72
- CommandLineReporter::Column.new('x' * 35, :align => 'left', :width => 10),
70
+ CommandLineReporter::Column.new('qwer', align: 'center'),
71
+ CommandLineReporter::Column.new('zxcv', align: 'right'),
72
+ CommandLineReporter::Column.new('x' * 25, align: 'left', width: 10),
73
+ CommandLineReporter::Column.new('x' * 25, align: 'center', width: 10),
74
+ CommandLineReporter::Column.new('x' * 35, align: 'left', width: 10)
73
75
  ]
74
76
  end
75
77