puppet-lint 2.0.0 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -1
- data/.rspec +1 -0
- data/.travis.yml +11 -2
- data/CHANGELOG.md +657 -0
- data/Gemfile +19 -0
- data/README.md +6 -1
- data/lib/puppet-lint.rb +1 -1
- data/lib/puppet-lint/checks.rb +1 -5
- data/lib/puppet-lint/lexer.rb +4 -2
- data/lib/puppet-lint/optparser.rb +11 -2
- data/lib/puppet-lint/plugins/check_classes.rb +5 -1
- data/lib/puppet-lint/plugins/check_comments.rb +6 -8
- data/lib/puppet-lint/plugins/check_resources.rb +4 -3
- data/lib/puppet-lint/plugins/check_variables.rb +21 -3
- data/lib/puppet-lint/plugins/check_whitespace.rb +21 -1
- data/lib/puppet-lint/tasks/puppet-lint.rb +4 -0
- data/lib/puppet-lint/version.rb +1 -1
- data/puppet-lint.gemspec +1 -4
- data/spec/puppet-lint/bin_spec.rb +1 -1
- data/spec/puppet-lint/lexer_spec.rb +38 -0
- data/spec/puppet-lint/plugins/check_classes/parameter_order_spec.rb +51 -47
- data/spec/puppet-lint/plugins/check_comments/star_comments_spec.rb +22 -0
- data/spec/puppet-lint/plugins/check_resources/ensure_first_param_spec.rb +19 -0
- data/spec/puppet-lint/plugins/check_resources/file_mode_spec.rb +96 -0
- data/spec/puppet-lint/plugins/check_resources/unquoted_file_mode_spec.rb +28 -0
- data/spec/puppet-lint/plugins/check_strings/variables_not_enclosed_spec.rb +3 -3
- data/spec/puppet-lint/plugins/check_variables/variable_is_lowercase_spec.rb +25 -0
- data/spec/puppet-lint/plugins/check_whitespace/80chars_spec.rb +71 -0
- data/spec/puppet-lint/plugins/check_whitespace/arrow_alignment_spec.rb +37 -37
- data/spec/puppet-lint_spec.rb +6 -0
- metadata +13 -50
@@ -29,6 +29,28 @@ describe 'star_comments' do
|
|
29
29
|
PuppetLint.configuration.fix = false
|
30
30
|
end
|
31
31
|
|
32
|
+
context 'multiline comment w/ no indents' do
|
33
|
+
let(:code) { "/* foo *
|
34
|
+
* *
|
35
|
+
* bar */"}
|
36
|
+
|
37
|
+
let(:fixed) { "# foo *
|
38
|
+
# *
|
39
|
+
# bar"}
|
40
|
+
|
41
|
+
it 'should only detect a single problem' do
|
42
|
+
expect(problems).to have(1).problem
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'should create a warning' do
|
46
|
+
expect(problems).to contain_fixed(msg).on_line(1).in_column(1)
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should convert the multiline comment' do
|
50
|
+
expect(manifest).to eq(fixed)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
32
54
|
context 'multiline comment w/ one line of content' do
|
33
55
|
let(:code) { "
|
34
56
|
/* foo
|
@@ -52,4 +52,23 @@ describe 'ensure_first_param' do
|
|
52
52
|
expect(problems).to have(0).problems
|
53
53
|
end
|
54
54
|
end
|
55
|
+
|
56
|
+
context 'ensure as a hash key in classes does not need to be first' do
|
57
|
+
let(:code) { "
|
58
|
+
class thing {
|
59
|
+
class {'thang':
|
60
|
+
stuff => {
|
61
|
+
'stuffing' => {
|
62
|
+
ensure => 'present',
|
63
|
+
blah => 'bleah',
|
64
|
+
}
|
65
|
+
},
|
66
|
+
}
|
67
|
+
}"
|
68
|
+
}
|
69
|
+
|
70
|
+
it 'should not detect any problems' do
|
71
|
+
expect(problems).to have(0).problems
|
72
|
+
end
|
73
|
+
end
|
55
74
|
end
|
@@ -67,6 +67,70 @@ describe 'file_mode' do
|
|
67
67
|
expect(problems).to have(0).problems
|
68
68
|
end
|
69
69
|
end
|
70
|
+
|
71
|
+
context '3 digit concat mode' do
|
72
|
+
let(:code) { "concat { 'foo': mode => '777' }" }
|
73
|
+
|
74
|
+
it 'should only detect a single problem' do
|
75
|
+
expect(problems).to have(1).problem
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'should create a warning' do
|
79
|
+
expect(problems).to contain_warning(msg).on_line(1).in_column(25)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
context '4 digit concat mode' do
|
84
|
+
let(:code) { "concat { 'foo': mode => '0777' }" }
|
85
|
+
|
86
|
+
it 'should not detect any problems' do
|
87
|
+
expect(problems).to have(0).problems
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
context 'concat mode as a variable' do
|
92
|
+
let(:code) { "concat { 'foo': mode => $concat_mode }" }
|
93
|
+
|
94
|
+
it 'should not detect any problems' do
|
95
|
+
expect(problems).to have(0).problems
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
context 'symbolic concat mode' do
|
100
|
+
let(:code) { "concat { 'foo': mode => 'u=rw,og=r' }" }
|
101
|
+
|
102
|
+
it 'should not detect any problems' do
|
103
|
+
expect(problems).to have(0).problems
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
context 'concat mode undef unquoted' do
|
108
|
+
let(:code) { "concat { 'foo': mode => undef }" }
|
109
|
+
|
110
|
+
it 'should not detect any problems' do
|
111
|
+
expect(problems).to have(0).problems
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
context 'concat mode undef quoted' do
|
116
|
+
let(:code) { "concat { 'foo': mode => 'undef' }" }
|
117
|
+
|
118
|
+
it 'should only detect a single problem' do
|
119
|
+
expect(problems).to have(1).problem
|
120
|
+
end
|
121
|
+
|
122
|
+
it 'should create a warning' do
|
123
|
+
expect(problems).to contain_warning(msg).on_line(1).in_column(25)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
context 'mode as audit value' do
|
128
|
+
let(:code) { "concat { '/etc/passwd': audit => [ owner, mode ], }" }
|
129
|
+
|
130
|
+
it 'should not detect any problems' do
|
131
|
+
expect(problems).to have(0).problems
|
132
|
+
end
|
133
|
+
end
|
70
134
|
end
|
71
135
|
|
72
136
|
context 'with fix enabled' do
|
@@ -109,5 +173,37 @@ describe 'file_mode' do
|
|
109
173
|
expect(manifest).to eq(code)
|
110
174
|
end
|
111
175
|
end
|
176
|
+
|
177
|
+
context '3 digit concat mode' do
|
178
|
+
let(:code) { "concat { 'foo': mode => '777' }" }
|
179
|
+
|
180
|
+
it 'should only detect a single problem' do
|
181
|
+
expect(problems).to have(1).problem
|
182
|
+
end
|
183
|
+
|
184
|
+
it 'should fix the manifest' do
|
185
|
+
expect(problems).to contain_fixed(msg).on_line(1).in_column(25)
|
186
|
+
end
|
187
|
+
|
188
|
+
it 'should zero pad the concat mode' do
|
189
|
+
expect(manifest).to eq("concat { 'foo': mode => '0777' }")
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
context 'concat mode undef quoted' do
|
194
|
+
let(:code) { "concat { 'foo': mode => 'undef' }" }
|
195
|
+
|
196
|
+
it 'should only detect a single problem' do
|
197
|
+
expect(problems).to have(1).problem
|
198
|
+
end
|
199
|
+
|
200
|
+
it 'should create a warning' do
|
201
|
+
expect(problems).to contain_warning(msg).on_line(1).in_column(25)
|
202
|
+
end
|
203
|
+
|
204
|
+
it 'should not modify the original manifest' do
|
205
|
+
expect(manifest).to eq(code)
|
206
|
+
end
|
207
|
+
end
|
112
208
|
end
|
113
209
|
end
|
@@ -15,6 +15,18 @@ describe 'unquoted_file_mode' do
|
|
15
15
|
expect(problems).to contain_warning(msg).on_line(1).in_column(23)
|
16
16
|
end
|
17
17
|
end
|
18
|
+
|
19
|
+
context '4 digit unquoted file mode' do
|
20
|
+
let(:code) { "concat { 'foo': mode => 0777 }" }
|
21
|
+
|
22
|
+
it 'should only detect a single problem' do
|
23
|
+
expect(problems).to have(1).problem
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'should create a warning' do
|
27
|
+
expect(problems).to contain_warning(msg).on_line(1).in_column(25)
|
28
|
+
end
|
29
|
+
end
|
18
30
|
end
|
19
31
|
|
20
32
|
context 'with fix enabled' do
|
@@ -41,5 +53,21 @@ describe 'unquoted_file_mode' do
|
|
41
53
|
expect(manifest).to eq("file { 'foo': mode => '0777' }")
|
42
54
|
end
|
43
55
|
end
|
56
|
+
|
57
|
+
context '4 digit unquoted file mode w/fix' do
|
58
|
+
let(:code) { "concat { 'foo': mode => 0777 }" }
|
59
|
+
|
60
|
+
it 'should only detect a single problem' do
|
61
|
+
expect(problems).to have(1).problem
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'should fix the manifest' do
|
65
|
+
expect(problems).to contain_fixed(msg).on_line(1).in_column(25)
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'should single quote the file mode' do
|
69
|
+
expect(manifest).to eq("concat { 'foo': mode => '0777' }")
|
70
|
+
end
|
71
|
+
end
|
44
72
|
end
|
45
73
|
end
|
@@ -39,10 +39,10 @@ describe 'variables_not_enclosed' do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
context 'variable not enclosed in {}' do
|
42
|
-
let(:code) { '" $gronk"' }
|
42
|
+
let(:code) { '" $gronk-$grouik"' }
|
43
43
|
|
44
44
|
it 'should only detect a single problem' do
|
45
|
-
expect(problems).to have(
|
45
|
+
expect(problems).to have(2).problem
|
46
46
|
end
|
47
47
|
|
48
48
|
it 'should fix the manifest' do
|
@@ -50,7 +50,7 @@ describe 'variables_not_enclosed' do
|
|
50
50
|
end
|
51
51
|
|
52
52
|
it 'should enclose the variable in braces' do
|
53
|
-
expect(manifest).to eq('" ${gronk}"')
|
53
|
+
expect(manifest).to eq('" ${gronk}-${grouik}"')
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'variable_is_lowercase' do
|
4
|
+
let(:msg) { 'variable contains an uppercase letter' }
|
5
|
+
|
6
|
+
context 'a variable containing an uppercase letter' do
|
7
|
+
let(:code) { '$fooBar' }
|
8
|
+
|
9
|
+
it 'should only detect a single problem' do
|
10
|
+
expect(problems).to have(1).problem
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should create a warning' do
|
14
|
+
expect(problems).to contain_warning(msg).on_line(1).in_column(1)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context 'a variable containing only lowercase letters' do
|
19
|
+
let(:code) { '$foobar' }
|
20
|
+
|
21
|
+
it 'should not detect any problems' do
|
22
|
+
expect(problems).to have(0).problems
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec_helper'
|
3
|
+
|
4
|
+
describe '80chars' do
|
5
|
+
before do
|
6
|
+
PuppetLint.configuration.send("enable_80chars")
|
7
|
+
end
|
8
|
+
|
9
|
+
let(:msg) { 'line has more than 80 characters' }
|
10
|
+
|
11
|
+
context 'file resource with a source line > 80c' do
|
12
|
+
let(:code) { "
|
13
|
+
file {
|
14
|
+
source => 'puppet:///modules/certificates/etc/ssl/private/wildcard.example.com.crt',
|
15
|
+
}"
|
16
|
+
}
|
17
|
+
|
18
|
+
it 'should not detect any problems' do
|
19
|
+
expect(problems).to have(0).problems
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
context 'file resource with a template line > 80c' do
|
24
|
+
let(:code) { "
|
25
|
+
file {
|
26
|
+
content => template('mymodule/this/is/a/truely/absurdly/long/path/that/should/make/you/feel/bad'),
|
27
|
+
}"
|
28
|
+
}
|
29
|
+
|
30
|
+
it 'should not detect any problems' do
|
31
|
+
expect(problems).to have(0).problems
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context 'length of lines with UTF-8 characters' do
|
36
|
+
let(:code) { "
|
37
|
+
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
38
|
+
# ┃ Configuration ┃
|
39
|
+
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"
|
40
|
+
}
|
41
|
+
|
42
|
+
it 'should not detect any problems' do
|
43
|
+
expect(problems).to have(0).problems
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
context '81 character line' do
|
48
|
+
let(:code) { 'a' * 81 }
|
49
|
+
|
50
|
+
it 'should only detect a single problem' do
|
51
|
+
expect(problems).to have(1).problem
|
52
|
+
end
|
53
|
+
|
54
|
+
it 'should create a warning' do
|
55
|
+
expect(problems).to contain_warning(msg).on_line(1).in_column(80)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# TODO: figure out why rspec keeps enabling this check!
|
60
|
+
#
|
61
|
+
# context '81 character line with disabled check' do
|
62
|
+
# let(:code) { 'a' * 81 }
|
63
|
+
#
|
64
|
+
# PuppetLint.configuration.send("disable_80chars")
|
65
|
+
#
|
66
|
+
# it 'should not detect any problems' do
|
67
|
+
# expect(problems).to have(0).problem
|
68
|
+
# end
|
69
|
+
# end
|
70
|
+
|
71
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe 'arrow_alignment' do
|
4
|
-
let(:msg) { 'indentation of => is not properly aligned' }
|
4
|
+
let(:msg) { 'indentation of => is not properly aligned (expected in column %d, but found it in column %d)' }
|
5
5
|
|
6
6
|
context 'with fix disabled' do
|
7
7
|
context 'selectors inside a resource' do
|
@@ -119,10 +119,10 @@ describe 'arrow_alignment' do
|
|
119
119
|
end
|
120
120
|
|
121
121
|
it 'should create four warnings' do
|
122
|
-
expect(problems).to contain_warning(msg).on_line(3).in_column(15)
|
123
|
-
expect(problems).to contain_warning(msg).on_line(4).in_column(15)
|
124
|
-
expect(problems).to contain_warning(msg).on_line(6).in_column(16)
|
125
|
-
expect(problems).to contain_warning(msg).on_line(7).in_column(15)
|
122
|
+
expect(problems).to contain_warning(sprintf(msg,17,15)).on_line(3).in_column(15)
|
123
|
+
expect(problems).to contain_warning(sprintf(msg,17,15)).on_line(4).in_column(15)
|
124
|
+
expect(problems).to contain_warning(sprintf(msg,17,16)).on_line(6).in_column(16)
|
125
|
+
expect(problems).to contain_warning(sprintf(msg,17,15)).on_line(7).in_column(15)
|
126
126
|
end
|
127
127
|
end
|
128
128
|
|
@@ -142,10 +142,10 @@ describe 'arrow_alignment' do
|
|
142
142
|
end
|
143
143
|
|
144
144
|
it 'should create four warnings' do
|
145
|
-
expect(problems).to contain_warning(msg).on_line(3).in_column(15)
|
146
|
-
expect(problems).to contain_warning(msg).on_line(4).in_column(15)
|
147
|
-
expect(problems).to contain_warning(msg).on_line(6).in_column(16)
|
148
|
-
expect(problems).to contain_warning(msg).on_line(7).in_column(15)
|
145
|
+
expect(problems).to contain_warning(sprintf(msg,17,15)).on_line(3).in_column(15)
|
146
|
+
expect(problems).to contain_warning(sprintf(msg,17,15)).on_line(4).in_column(15)
|
147
|
+
expect(problems).to contain_warning(sprintf(msg,17,16)).on_line(6).in_column(16)
|
148
|
+
expect(problems).to contain_warning(sprintf(msg,17,15)).on_line(7).in_column(15)
|
149
149
|
end
|
150
150
|
end
|
151
151
|
context 'complex resource with a misaligned =>' do
|
@@ -166,9 +166,9 @@ describe 'arrow_alignment' do
|
|
166
166
|
end
|
167
167
|
|
168
168
|
it 'should create three warnings' do
|
169
|
-
expect(problems).to contain_warning(msg).on_line(3).in_column(15)
|
170
|
-
expect(problems).to contain_warning(msg).on_line(6).in_column(17)
|
171
|
-
expect(problems).to contain_warning(msg).on_line(9).in_column(15)
|
169
|
+
expect(problems).to contain_warning(sprintf(msg,16,15)).on_line(3).in_column(15)
|
170
|
+
expect(problems).to contain_warning(sprintf(msg,19,17)).on_line(6).in_column(17)
|
171
|
+
expect(problems).to contain_warning(sprintf(msg,16,15)).on_line(9).in_column(15)
|
172
172
|
end
|
173
173
|
end
|
174
174
|
|
@@ -189,7 +189,7 @@ describe 'arrow_alignment' do
|
|
189
189
|
end
|
190
190
|
|
191
191
|
it 'should create a warning' do
|
192
|
-
expect(problems).to contain_warning(msg).on_line(8).in_column(17)
|
192
|
+
expect(problems).to contain_warning(sprintf(msg,19,17)).on_line(8).in_column(17)
|
193
193
|
end
|
194
194
|
end
|
195
195
|
|
@@ -214,10 +214,10 @@ describe 'arrow_alignment' do
|
|
214
214
|
end
|
215
215
|
|
216
216
|
it 'should create a warning' do
|
217
|
-
expect(problems).to contain_warning(msg).on_line(5).in_column(19)
|
218
|
-
expect(problems).to contain_warning(msg).on_line(6).in_column(18)
|
219
|
-
expect(problems).to contain_warning(msg).on_line(11).in_column(19)
|
220
|
-
expect(problems).to contain_warning(msg).on_line(12).in_column(18)
|
217
|
+
expect(problems).to contain_warning(sprintf(msg,20,19)).on_line(5).in_column(19)
|
218
|
+
expect(problems).to contain_warning(sprintf(msg,20,18)).on_line(6).in_column(18)
|
219
|
+
expect(problems).to contain_warning(sprintf(msg,20,19)).on_line(11).in_column(19)
|
220
|
+
expect(problems).to contain_warning(sprintf(msg,20,18)).on_line(12).in_column(18)
|
221
221
|
end
|
222
222
|
end
|
223
223
|
|
@@ -282,8 +282,8 @@ describe 'arrow_alignment' do
|
|
282
282
|
end
|
283
283
|
|
284
284
|
it 'should create 2 warnings' do
|
285
|
-
expect(problems).to contain_warning(msg).on_line(3).in_column(19)
|
286
|
-
expect(problems).to contain_warning(msg).on_line(4).in_column(19)
|
285
|
+
expect(problems).to contain_warning(sprintf(msg,18,19)).on_line(3).in_column(19)
|
286
|
+
expect(problems).to contain_warning(sprintf(msg,18,19)).on_line(4).in_column(19)
|
287
287
|
end
|
288
288
|
end
|
289
289
|
|
@@ -314,8 +314,8 @@ describe 'arrow_alignment' do
|
|
314
314
|
end
|
315
315
|
|
316
316
|
it 'should create 2 warnings' do
|
317
|
-
expect(problems).to contain_warning(msg).on_line(3).in_column(13)
|
318
|
-
expect(problems).to contain_warning(msg).on_line(3).in_column(26)
|
317
|
+
expect(problems).to contain_warning(sprintf(msg,15,13)).on_line(3).in_column(13)
|
318
|
+
expect(problems).to contain_warning(sprintf(msg,15,26)).on_line(3).in_column(26)
|
319
319
|
end
|
320
320
|
end
|
321
321
|
|
@@ -368,10 +368,10 @@ describe 'arrow_alignment' do
|
|
368
368
|
end
|
369
369
|
|
370
370
|
it 'should fix the manifest' do
|
371
|
-
expect(problems).to contain_fixed(msg).on_line(3).in_column(15)
|
372
|
-
expect(problems).to contain_fixed(msg).on_line(4).in_column(15)
|
373
|
-
expect(problems).to contain_fixed(msg).on_line(6).in_column(16)
|
374
|
-
expect(problems).to contain_fixed(msg).on_line(7).in_column(15)
|
371
|
+
expect(problems).to contain_fixed(sprintf(msg,17,15)).on_line(3).in_column(15)
|
372
|
+
expect(problems).to contain_fixed(sprintf(msg,17,15)).on_line(4).in_column(15)
|
373
|
+
expect(problems).to contain_fixed(sprintf(msg,17,16)).on_line(6).in_column(16)
|
374
|
+
expect(problems).to contain_fixed(sprintf(msg,17,15)).on_line(7).in_column(15)
|
375
375
|
end
|
376
376
|
|
377
377
|
it 'should align the arrows' do
|
@@ -408,9 +408,9 @@ describe 'arrow_alignment' do
|
|
408
408
|
end
|
409
409
|
|
410
410
|
it 'should fix the manifest' do
|
411
|
-
expect(problems).to contain_fixed(msg).on_line(3).in_column(15)
|
412
|
-
expect(problems).to contain_fixed(msg).on_line(6).in_column(17)
|
413
|
-
expect(problems).to contain_fixed(msg).on_line(9).in_column(15)
|
411
|
+
expect(problems).to contain_fixed(sprintf(msg,16,15)).on_line(3).in_column(15)
|
412
|
+
expect(problems).to contain_fixed(sprintf(msg,19,17)).on_line(6).in_column(17)
|
413
|
+
expect(problems).to contain_fixed(sprintf(msg,16,15)).on_line(9).in_column(15)
|
414
414
|
end
|
415
415
|
|
416
416
|
it 'should align the arrows' do
|
@@ -445,7 +445,7 @@ describe 'arrow_alignment' do
|
|
445
445
|
end
|
446
446
|
|
447
447
|
it 'should fix the manifest' do
|
448
|
-
expect(problems).to contain_fixed(msg).on_line(8).in_column(17)
|
448
|
+
expect(problems).to contain_fixed(sprintf(msg,19,17)).on_line(8).in_column(17)
|
449
449
|
end
|
450
450
|
|
451
451
|
it 'should align the arrows' do
|
@@ -473,8 +473,8 @@ describe 'arrow_alignment' do
|
|
473
473
|
end
|
474
474
|
|
475
475
|
it 'should create 2 warnings' do
|
476
|
-
expect(problems).to contain_fixed(msg).on_line(3).in_column(19)
|
477
|
-
expect(problems).to contain_fixed(msg).on_line(4).in_column(19)
|
476
|
+
expect(problems).to contain_fixed(sprintf(msg,18,19)).on_line(3).in_column(19)
|
477
|
+
expect(problems).to contain_fixed(sprintf(msg,18,19)).on_line(4).in_column(19)
|
478
478
|
end
|
479
479
|
|
480
480
|
it 'should realign the arrows with the minimum whitespace' do
|
@@ -502,7 +502,7 @@ describe 'arrow_alignment' do
|
|
502
502
|
end
|
503
503
|
|
504
504
|
it 'should fix the problem' do
|
505
|
-
expect(problems).to contain_fixed(msg).on_line(4).in_column(17)
|
505
|
+
expect(problems).to contain_fixed(sprintf(msg,18,17)).on_line(4).in_column(17)
|
506
506
|
end
|
507
507
|
|
508
508
|
it 'should add whitespace between the param and the arrow' do
|
@@ -531,8 +531,8 @@ describe 'arrow_alignment' do
|
|
531
531
|
end
|
532
532
|
|
533
533
|
it 'should fix 2 problems' do
|
534
|
-
expect(problems).to contain_fixed(msg).on_line(3).in_column(13)
|
535
|
-
expect(problems).to contain_fixed(msg).on_line(3).in_column(26)
|
534
|
+
expect(problems).to contain_fixed(sprintf(msg,15,13)).on_line(3).in_column(13)
|
535
|
+
expect(problems).to contain_fixed(sprintf(msg,15,26)).on_line(3).in_column(26)
|
536
536
|
end
|
537
537
|
|
538
538
|
it 'should move the extra param onto its own line and realign' do
|
@@ -561,9 +561,9 @@ describe 'arrow_alignment' do
|
|
561
561
|
end
|
562
562
|
|
563
563
|
it 'should fix 2 problems' do
|
564
|
-
expect(problems).to contain_fixed(msg).on_line(3).in_column(13)
|
565
|
-
expect(problems).to contain_fixed(msg).on_line(3).in_column(29)
|
566
|
-
expect(problems).to contain_fixed(msg).on_line(4).in_column(15)
|
564
|
+
expect(problems).to contain_fixed(sprintf(msg,17,13)).on_line(3).in_column(13)
|
565
|
+
expect(problems).to contain_fixed(sprintf(msg,17,29)).on_line(3).in_column(29)
|
566
|
+
expect(problems).to contain_fixed(sprintf(msg,17,15)).on_line(4).in_column(15)
|
567
567
|
end
|
568
568
|
|
569
569
|
it 'should move the extra param onto its own line and realign' do
|