puppet-lint-manifest_whitespace-check 0.1.4 → 0.1.5
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/lib/puppet-lint/plugins/check_manifest_whitespace_closing_brace.rb +2 -2
- data/lib/puppet-lint/plugins/check_manifest_whitespace_closing_bracket.rb +2 -2
- data/lib/puppet-lint/plugins/check_manifest_whitespace_opening_brace.rb +3 -3
- data/lib/puppet-lint/plugins/check_manifest_whitespace_opening_bracket.rb +2 -2
- data/lib/puppet-lint/plugins/tools.rb +12 -0
- data/spec/puppet-lint/plugins/manifest_whitespace_closing_brace_spec.rb +20 -0
- data/spec/puppet-lint/plugins/manifest_whitespace_opening_brace_spec.rb +27 -23
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e80c80c6f7e442284b4e19c5ba0dc556dedaca26bbdb2ab51cca142cea6000b9
|
4
|
+
data.tar.gz: ba85e3831db963d8a5dac5f423377bd1bc8cb780a0e780fc3eb892d854d7419a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6bc3ffe70c55c49dd71149291fae2be47b25fd9f4409026f69330be7c2368a5ea97f259f2e4899844e4bfeeff7311b492a80ad0882340e8398709b06be13887
|
7
|
+
data.tar.gz: d4d4c42cfa65144d4d5ce71edf7d46ce278a1e2a1efcaff866c73f73b3bbe9c573500592b82c0689314c77dd665f4eca0c325f12552b9b5e5b95239d57dfb1c2
|
@@ -4,7 +4,7 @@ PuppetLint.new_check(:manifest_whitespace_closing_brace_before) do
|
|
4
4
|
def check
|
5
5
|
tokens.select { |token| token.type == :RBRACE }.each do |brace_token|
|
6
6
|
prev_token = brace_token.prev_token
|
7
|
-
prev_code_token = brace_token
|
7
|
+
prev_code_token = prev_non_space_token(brace_token)
|
8
8
|
|
9
9
|
next unless prev_token && prev_code_token
|
10
10
|
next if %i[LBRACE RBRACK RBRACE].include?(prev_token.type)
|
@@ -66,7 +66,7 @@ PuppetLint.new_check(:manifest_whitespace_closing_brace_after) do
|
|
66
66
|
next if after_bracket_tokens.include?(next_token.type)
|
67
67
|
|
68
68
|
if next_token.type == :WHITESPACE
|
69
|
-
next_code_token = brace_token
|
69
|
+
next_code_token = next_non_space_token(brace_token)
|
70
70
|
next unless next_code_token
|
71
71
|
next unless after_bracket_tokens.include?(next_code_token.type)
|
72
72
|
end
|
@@ -6,7 +6,7 @@ PuppetLint.new_check(:manifest_whitespace_closing_bracket_before) do
|
|
6
6
|
prev_token = bracket_token.prev_token
|
7
7
|
next unless prev_token
|
8
8
|
|
9
|
-
prev_code_token = bracket_token
|
9
|
+
prev_code_token = prev_non_space_token(bracket_token)
|
10
10
|
next unless prev_code_token
|
11
11
|
|
12
12
|
next unless %i[NEWLINE INDENT WHITESPACE].include?(prev_token.type)
|
@@ -56,7 +56,7 @@ PuppetLint.new_check(:manifest_whitespace_closing_bracket_after) do
|
|
56
56
|
next if after_bracket_tokens.include?(next_token.type)
|
57
57
|
|
58
58
|
if next_token.type == :WHITESPACE
|
59
|
-
next_code_token = bracket_token
|
59
|
+
next_code_token = next_non_space_token(bracket_token)
|
60
60
|
next unless next_code_token
|
61
61
|
next unless after_bracket_tokens.include?(next_code_token.type)
|
62
62
|
end
|
@@ -4,10 +4,10 @@ PuppetLint.new_check(:manifest_whitespace_opening_brace_before) do
|
|
4
4
|
def check
|
5
5
|
tokens.select { |token| token.type == :LBRACE }.each do |brace_token|
|
6
6
|
prev_token = brace_token.prev_token
|
7
|
-
prev_code_token = brace_token
|
7
|
+
prev_code_token = prev_non_space_token(brace_token)
|
8
8
|
|
9
9
|
next unless prev_token && prev_code_token
|
10
|
-
next if %i[LBRACK LBRACE COMMA].include?(prev_code_token.type)
|
10
|
+
next if %i[LBRACK LBRACE COMMA COMMENT].include?(prev_code_token.type)
|
11
11
|
next unless tokens.index(prev_code_token) != tokens.index(brace_token) - 2 ||
|
12
12
|
!is_single_space(prev_token)
|
13
13
|
|
@@ -24,7 +24,7 @@ PuppetLint.new_check(:manifest_whitespace_opening_brace_before) do
|
|
24
24
|
def fix(problem)
|
25
25
|
token = problem[:token]
|
26
26
|
prev_token = token.prev_token
|
27
|
-
prev_code_token = token
|
27
|
+
prev_code_token = prev_non_space_token(token)
|
28
28
|
|
29
29
|
while prev_code_token != prev_token
|
30
30
|
unless %i[WHITESPACE INDENT NEWLINE].include?(prev_token.type)
|
@@ -4,7 +4,7 @@ PuppetLint.new_check(:manifest_whitespace_opening_bracket_before) do
|
|
4
4
|
def check
|
5
5
|
tokens.select { |token| token.type == :LBRACK }.each do |bracket_token|
|
6
6
|
prev_token = bracket_token.prev_token
|
7
|
-
prev_code_token = bracket_token
|
7
|
+
prev_code_token = prev_non_space_token(bracket_token)
|
8
8
|
|
9
9
|
next unless prev_token && prev_code_token
|
10
10
|
next if %i[LBRACK LBRACE COMMA SEMIC].include?(prev_code_token.type)
|
@@ -25,7 +25,7 @@ PuppetLint.new_check(:manifest_whitespace_opening_bracket_before) do
|
|
25
25
|
def fix(problem)
|
26
26
|
token = problem[:token]
|
27
27
|
prev_token = token.prev_token
|
28
|
-
prev_code_token = token
|
28
|
+
prev_code_token = prev_non_space_token(token)
|
29
29
|
|
30
30
|
while prev_code_token != prev_token
|
31
31
|
unless %i[WHITESPACE INDENT NEWLINE].include?(prev_token.type)
|
@@ -11,3 +11,15 @@ end
|
|
11
11
|
def after_bracket_tokens
|
12
12
|
%i[RBRACE RBRACK RPAREN SEMIC COMMA COLON NEWLINE DQPOST]
|
13
13
|
end
|
14
|
+
|
15
|
+
def prev_non_space_token(token)
|
16
|
+
while token = token.prev_token
|
17
|
+
return token unless %i[WHITESPACE INDENT NEWLINE].include?(token.type)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def next_non_space_token(token)
|
22
|
+
while token = token.next_token
|
23
|
+
return token unless %i[WHITESPACE INDENT NEWLINE].include?(token.type)
|
24
|
+
end
|
25
|
+
end
|
@@ -5,6 +5,20 @@ require 'spec_helper'
|
|
5
5
|
describe 'manifest_whitespace_closing_brace_before' do
|
6
6
|
let(:closing_brace_msg) { 'there should be a bracket or a single newline before a closing brace' }
|
7
7
|
|
8
|
+
context 'with comment only' do
|
9
|
+
let(:code) do
|
10
|
+
<<~EOF
|
11
|
+
$value7 = {
|
12
|
+
# nothing
|
13
|
+
}
|
14
|
+
EOF
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should detect no problems' do
|
18
|
+
expect(problems).to have(0).problem
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
8
22
|
context 'with no spaces' do
|
9
23
|
let(:code) do
|
10
24
|
<<~EOF
|
@@ -30,6 +44,9 @@ describe 'manifest_whitespace_closing_brace_before' do
|
|
30
44
|
$value5 = []
|
31
45
|
$value6 = {}
|
32
46
|
$value7 = "x${server_facts['environment']}y"
|
47
|
+
$value8 = {
|
48
|
+
# nothing
|
49
|
+
}
|
33
50
|
|
34
51
|
if someothercondition { include ::otherclass}
|
35
52
|
if somecondition {
|
@@ -91,6 +108,9 @@ describe 'manifest_whitespace_closing_brace_before' do
|
|
91
108
|
$value5 = []
|
92
109
|
$value6 = {}
|
93
110
|
$value7 = "x${server_facts['environment']}y"
|
111
|
+
$value8 = {
|
112
|
+
# nothing
|
113
|
+
}
|
94
114
|
|
95
115
|
if someothercondition { include ::otherclass }
|
96
116
|
if somecondition {
|
@@ -5,6 +5,20 @@ require 'spec_helper'
|
|
5
5
|
describe 'manifest_whitespace_opening_brace_before' do
|
6
6
|
let(:opening_brace_msg) { 'there should be a single space before an opening brace' }
|
7
7
|
|
8
|
+
context 'with comment only' do
|
9
|
+
let(:code) do
|
10
|
+
<<~EOF
|
11
|
+
$value7 = {
|
12
|
+
# nothing
|
13
|
+
}
|
14
|
+
EOF
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should detect no problems' do
|
18
|
+
expect(problems).to have(0).problem
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
8
22
|
context 'with no spaces' do
|
9
23
|
let(:code) do
|
10
24
|
<<~EOF
|
@@ -29,6 +43,9 @@ describe 'manifest_whitespace_opening_brace_before' do
|
|
29
43
|
$value4 = ['somekey']
|
30
44
|
$value5 = []
|
31
45
|
$value6 = {}
|
46
|
+
$value7 = {
|
47
|
+
# nothing
|
48
|
+
}
|
32
49
|
|
33
50
|
if somecondition{
|
34
51
|
class{ 'example2':
|
@@ -91,6 +108,9 @@ describe 'manifest_whitespace_opening_brace_before' do
|
|
91
108
|
$value4 = ['somekey']
|
92
109
|
$value5 = []
|
93
110
|
$value6 = {}
|
111
|
+
$value7 = {
|
112
|
+
# nothing
|
113
|
+
}
|
94
114
|
|
95
115
|
if somecondition {
|
96
116
|
class { 'example2':
|
@@ -332,29 +352,7 @@ describe 'manifest_whitespace_opening_brace_before' do
|
|
332
352
|
|
333
353
|
context 'with fix disabled' do
|
334
354
|
it 'should detect a single problem' do
|
335
|
-
expect(problems).to have(
|
336
|
-
end
|
337
|
-
|
338
|
-
it 'should create a error' do
|
339
|
-
expect(problems).to contain_error(opening_brace_msg).on_line(9).in_column(1)
|
340
|
-
end
|
341
|
-
end
|
342
|
-
|
343
|
-
context 'with fix enabled' do
|
344
|
-
before do
|
345
|
-
PuppetLint.configuration.fix = true
|
346
|
-
end
|
347
|
-
|
348
|
-
after do
|
349
|
-
PuppetLint.configuration.fix = false
|
350
|
-
end
|
351
|
-
|
352
|
-
it 'should detect a single problem' do
|
353
|
-
expect(problems).to have(2).problem
|
354
|
-
end
|
355
|
-
|
356
|
-
it 'should not fix the manifest' do
|
357
|
-
expect(problems).to contain_error(opening_brace_msg).on_line(9).in_column(1)
|
355
|
+
expect(problems).to have(0).problem
|
358
356
|
end
|
359
357
|
end
|
360
358
|
end
|
@@ -516,6 +514,9 @@ describe 'manifest_whitespace_opening_brace_after' do
|
|
516
514
|
$value4 = ['somekey']
|
517
515
|
$value5 = []
|
518
516
|
$value6 = {}
|
517
|
+
$value7 = {
|
518
|
+
# nothing
|
519
|
+
}
|
519
520
|
|
520
521
|
if somecondition {
|
521
522
|
class { 'example2':
|
@@ -578,6 +579,9 @@ describe 'manifest_whitespace_opening_brace_after' do
|
|
578
579
|
$value4 = ['somekey']
|
579
580
|
$value5 = []
|
580
581
|
$value6 = {}
|
582
|
+
$value7 = {
|
583
|
+
# nothing
|
584
|
+
}
|
581
585
|
|
582
586
|
if somecondition {
|
583
587
|
class { 'example2':
|