puppet-lint 2.3.0 → 2.3.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.
Files changed (107) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +74 -0
  3. data/.rubocop_todo.yml +89 -0
  4. data/.travis.yml +11 -9
  5. data/CHANGELOG.md +54 -0
  6. data/Gemfile +3 -0
  7. data/Rakefile +14 -3
  8. data/appveyor.yml +1 -4
  9. data/bin/puppet-lint +1 -1
  10. data/lib/puppet-lint.rb +25 -21
  11. data/lib/puppet-lint/bin.rb +15 -19
  12. data/lib/puppet-lint/checkplugin.rb +24 -17
  13. data/lib/puppet-lint/checks.rb +42 -31
  14. data/lib/puppet-lint/configuration.rb +11 -8
  15. data/lib/puppet-lint/data.rb +236 -164
  16. data/lib/puppet-lint/lexer.rb +225 -203
  17. data/lib/puppet-lint/lexer/token.rb +34 -18
  18. data/lib/puppet-lint/optparser.rb +33 -30
  19. data/lib/puppet-lint/plugins.rb +42 -38
  20. data/lib/puppet-lint/plugins/check_classes/arrow_on_right_operand_line.rb +26 -28
  21. data/lib/puppet-lint/plugins/check_classes/autoloader_layout.rb +21 -20
  22. data/lib/puppet-lint/plugins/check_classes/class_inherits_from_params_class.rb +8 -9
  23. data/lib/puppet-lint/plugins/check_classes/code_on_top_scope.rb +9 -8
  24. data/lib/puppet-lint/plugins/check_classes/inherits_across_namespaces.rb +12 -11
  25. data/lib/puppet-lint/plugins/check_classes/names_containing_dash.rb +13 -12
  26. data/lib/puppet-lint/plugins/check_classes/names_containing_uppercase.rb +14 -13
  27. data/lib/puppet-lint/plugins/check_classes/nested_classes_or_defines.rb +9 -10
  28. data/lib/puppet-lint/plugins/check_classes/parameter_order.rb +40 -31
  29. data/lib/puppet-lint/plugins/check_classes/right_to_left_relationship.rb +3 -2
  30. data/lib/puppet-lint/plugins/check_classes/variable_scope.rb +21 -24
  31. data/lib/puppet-lint/plugins/check_comments/slash_comments.rb +3 -2
  32. data/lib/puppet-lint/plugins/check_comments/star_comments.rb +6 -5
  33. data/lib/puppet-lint/plugins/check_conditionals/case_without_default.rb +21 -20
  34. data/lib/puppet-lint/plugins/check_conditionals/selector_inside_resource.rb +10 -13
  35. data/lib/puppet-lint/plugins/check_documentation/documentation.rb +26 -17
  36. data/lib/puppet-lint/plugins/check_nodes/unquoted_node_name.rb +11 -11
  37. data/lib/puppet-lint/plugins/check_resources/duplicate_params.rb +4 -3
  38. data/lib/puppet-lint/plugins/check_resources/ensure_first_param.rb +17 -18
  39. data/lib/puppet-lint/plugins/check_resources/ensure_not_symlink_target.rb +17 -16
  40. data/lib/puppet-lint/plugins/check_resources/file_mode.rb +22 -23
  41. data/lib/puppet-lint/plugins/check_resources/unquoted_file_mode.rb +14 -13
  42. data/lib/puppet-lint/plugins/check_resources/unquoted_resource_title.rb +9 -8
  43. data/lib/puppet-lint/plugins/check_strings/double_quoted_strings.rb +8 -8
  44. data/lib/puppet-lint/plugins/check_strings/only_variable_string.rb +29 -42
  45. data/lib/puppet-lint/plugins/check_strings/puppet_url_without_modules.rb +5 -4
  46. data/lib/puppet-lint/plugins/check_strings/quoted_booleans.rb +3 -2
  47. data/lib/puppet-lint/plugins/check_strings/single_quote_string_with_variables.rb +4 -3
  48. data/lib/puppet-lint/plugins/check_strings/variables_not_enclosed.rb +3 -2
  49. data/lib/puppet-lint/plugins/check_variables/variable_contains_dash.rb +9 -8
  50. data/lib/puppet-lint/plugins/check_variables/variable_is_lowercase.rb +9 -8
  51. data/lib/puppet-lint/plugins/check_whitespace/140chars.rb +9 -9
  52. data/lib/puppet-lint/plugins/check_whitespace/2sp_soft_tabs.rb +4 -3
  53. data/lib/puppet-lint/plugins/check_whitespace/80chars.rb +10 -10
  54. data/lib/puppet-lint/plugins/check_whitespace/arrow_alignment.rb +23 -22
  55. data/lib/puppet-lint/plugins/check_whitespace/hard_tabs.rb +3 -2
  56. data/lib/puppet-lint/plugins/check_whitespace/trailing_whitespace.rb +3 -2
  57. data/lib/puppet-lint/tasks/puppet-lint.rb +3 -3
  58. data/lib/puppet-lint/version.rb +1 -1
  59. data/puppet-lint.gemspec +4 -4
  60. data/spec/puppet-lint/bin_spec.rb +268 -140
  61. data/spec/puppet-lint/checks_spec.rb +229 -0
  62. data/spec/puppet-lint/configuration_spec.rb +10 -9
  63. data/spec/puppet-lint/data_spec.rb +84 -0
  64. data/spec/puppet-lint/ignore_overrides_spec.rb +71 -40
  65. data/spec/puppet-lint/lexer/token_spec.rb +1 -1
  66. data/spec/puppet-lint/lexer_spec.rb +306 -73
  67. data/spec/puppet-lint/plugins/check_classes/arrow_on_right_operand_line_spec.rb +12 -6
  68. data/spec/puppet-lint/plugins/check_classes/autoloader_layout_spec.rb +10 -10
  69. data/spec/puppet-lint/plugins/check_classes/class_inherits_from_params_class_spec.rb +15 -11
  70. data/spec/puppet-lint/plugins/check_classes/code_on_top_scope_spec.rb +26 -21
  71. data/spec/puppet-lint/plugins/check_classes/inherits_across_namespaces_spec.rb +3 -3
  72. data/spec/puppet-lint/plugins/check_classes/name_contains_uppercase_spec.rb +4 -5
  73. data/spec/puppet-lint/plugins/check_classes/names_containing_dash_spec.rb +13 -0
  74. data/spec/puppet-lint/plugins/check_classes/nested_classes_or_defines_spec.rb +33 -25
  75. data/spec/puppet-lint/plugins/check_classes/parameter_order_spec.rb +80 -55
  76. data/spec/puppet-lint/plugins/check_classes/right_to_left_relationship_spec.rb +2 -2
  77. data/spec/puppet-lint/plugins/check_classes/variable_scope_spec.rb +165 -130
  78. data/spec/puppet-lint/plugins/check_comments/slash_comments_spec.rb +2 -2
  79. data/spec/puppet-lint/plugins/check_comments/star_comments_spec.rb +53 -35
  80. data/spec/puppet-lint/plugins/check_conditionals/case_without_default_spec.rb +59 -49
  81. data/spec/puppet-lint/plugins/check_conditionals/selector_inside_resource_spec.rb +18 -14
  82. data/spec/puppet-lint/plugins/check_documentation/documentation_spec.rb +14 -10
  83. data/spec/puppet-lint/plugins/check_nodes/unquoted_node_name_spec.rb +7 -7
  84. data/spec/puppet-lint/plugins/check_resources/duplicate_params_spec.rb +54 -44
  85. data/spec/puppet-lint/plugins/check_resources/ensure_first_param_spec.rb +114 -89
  86. data/spec/puppet-lint/plugins/check_resources/ensure_not_symlink_target_spec.rb +41 -30
  87. data/spec/puppet-lint/plugins/check_resources/file_mode_spec.rb +46 -40
  88. data/spec/puppet-lint/plugins/check_resources/unquoted_file_mode_spec.rb +46 -40
  89. data/spec/puppet-lint/plugins/check_resources/unquoted_resource_title_spec.rb +95 -71
  90. data/spec/puppet-lint/plugins/check_strings/double_quoted_strings_spec.rb +28 -24
  91. data/spec/puppet-lint/plugins/check_strings/only_variable_string_spec.rb +11 -9
  92. data/spec/puppet-lint/plugins/check_strings/puppet_url_without_modules_spec.rb +1 -2
  93. data/spec/puppet-lint/plugins/check_strings/single_quote_string_with_variables_spec.rb +18 -14
  94. data/spec/puppet-lint/plugins/check_variables/variable_contains_dash_spec.rb +1 -1
  95. data/spec/puppet-lint/plugins/check_variables/variable_is_lowercase_spec.rb +1 -1
  96. data/spec/puppet-lint/plugins/check_whitespace/140chars_spec.rb +22 -15
  97. data/spec/puppet-lint/plugins/check_whitespace/2sp_soft_tabs_spec.rb +8 -6
  98. data/spec/puppet-lint/plugins/check_whitespace/80chars_spec.rb +23 -29
  99. data/spec/puppet-lint/plugins/check_whitespace/arrow_alignment_spec.rb +588 -494
  100. data/spec/puppet-lint/plugins/check_whitespace/hard_tabs_spec.rb +1 -1
  101. data/spec/puppet-lint/plugins/check_whitespace/trailing_whitespace_spec.rb +27 -19
  102. data/spec/puppet-lint_spec.rb +2 -12
  103. data/spec/spec_helper.rb +35 -30
  104. metadata +6 -5
  105. data/lib/puppet-lint/monkeypatches.rb +0 -2
  106. data/lib/puppet-lint/monkeypatches/string_percent.rb +0 -52
  107. data/lib/puppet-lint/monkeypatches/string_prepend.rb +0 -13
@@ -4,33 +4,37 @@ describe 'duplicate_params' do
4
4
  let(:msg) { 'duplicate parameter found in resource' }
5
5
 
6
6
  context 'resource with duplicate parameters' do
7
- let(:code) { "
8
- file { '/tmp/foo':
9
- ensure => present,
10
- foo => bar,
11
- baz => gronk,
12
- foo => meh,
13
- }"
14
- }
7
+ let(:code) do
8
+ <<-END
9
+ file { '/tmp/foo':
10
+ ensure => present,
11
+ foo => bar,
12
+ baz => gronk,
13
+ foo => meh,
14
+ }
15
+ END
16
+ end
15
17
 
16
18
  it 'should only detect a single problem' do
17
19
  expect(problems).to have(1).problem
18
20
  end
19
21
 
20
22
  it 'should create an error' do
21
- expect(problems).to contain_error(msg).on_line(6).in_column(9)
23
+ expect(problems).to contain_error(msg).on_line(5).in_column(11)
22
24
  end
23
25
  end
24
26
 
25
27
  context 'bug #145: resource with a hash and no duplicate parameters' do
26
- let(:code) { "
27
- class {'fooname':
28
- hashes => [
29
- { foo => 'bar01',},
30
- { foo => 'bar02', },
31
- ],
32
- }"
33
- }
28
+ let(:code) do
29
+ <<-END
30
+ class {'fooname':
31
+ hashes => [
32
+ { foo => 'bar01',},
33
+ { foo => 'bar02', },
34
+ ],
35
+ }
36
+ END
37
+ end
34
38
 
35
39
  it 'should not detect any errors' do
36
40
  expect(problems).to have(0).problems
@@ -38,52 +42,58 @@ describe 'duplicate_params' do
38
42
  end
39
43
 
40
44
  context 'bug #145: resource with a hash and duplicate parameters in subhash' do
41
- let(:code) { "
42
- class {'fooname':
43
- hashes => [
44
- { foo => 'bar01',
45
- foo => 'bar02', },
46
- ],
47
- }"
48
- }
45
+ let(:code) do
46
+ <<-END
47
+ class {'fooname':
48
+ hashes => [
49
+ { foo => 'bar01',
50
+ foo => 'bar02', },
51
+ ],
52
+ }
53
+ END
54
+ end
49
55
 
50
56
  it 'should only detect a single error' do
51
57
  expect(problems).to have(1).problem
52
58
  end
53
59
 
54
60
  it 'should create an error' do
55
- expect(problems).to contain_error(msg).on_line(5).in_column(13)
61
+ expect(problems).to contain_error(msg).on_line(4).in_column(15)
56
62
  end
57
63
  end
58
64
 
59
65
  context 'bug #145: resource with a hash and duplicate parameters in parent type' do
60
- let(:code) { "
61
- class {'fooname':
62
- hashes => [
63
- { foo => 'bar01', },
64
- { foo => 'bar02', },
65
- ],
66
- something => { hash => 'mini', },
67
- hashes => 'dupe',
68
- }"
69
- }
66
+ let(:code) do
67
+ <<-END
68
+ class {'fooname':
69
+ hashes => [
70
+ { foo => 'bar01', },
71
+ { foo => 'bar02', },
72
+ ],
73
+ something => { hash => 'mini', },
74
+ hashes => 'dupe',
75
+ }
76
+ END
77
+ end
70
78
 
71
79
  it 'should only detect a single problem' do
72
80
  expect(problems).to have(1).problem
73
81
  end
74
82
 
75
83
  it 'should create an error' do
76
- expect(problems).to contain_error(msg).on_line(8).in_column(9)
84
+ expect(problems).to contain_error(msg).on_line(7).in_column(11)
77
85
  end
78
86
  end
79
87
 
80
88
  describe 'bug #145: more hash tests and no duplicate parameters' do
81
- let(:code) { "
82
- class test {
83
- $foo = { param => 'value', }
84
- $bar = { param => 'bar', }
85
- }"
86
- }
89
+ let(:code) do
90
+ <<-END
91
+ class test {
92
+ $foo = { param => 'value', }
93
+ $bar = { param => 'bar', }
94
+ }
95
+ END
96
+ end
87
97
 
88
98
  it 'should not detect any problems' do
89
99
  expect(problems).to have(0).problems
@@ -91,7 +101,7 @@ describe 'duplicate_params' do
91
101
  end
92
102
 
93
103
  context 'colon as last token in file' do
94
- let(:code) { "}:" }
104
+ let(:code) { '}:' }
95
105
 
96
106
  it 'should not detect any problems' do
97
107
  expect(problems).to have(0).problems
@@ -13,11 +13,13 @@ describe 'ensure_first_param' do
13
13
  end
14
14
 
15
15
  context 'ensure as only attr in a multi line resource' do
16
- let(:code) { "
17
- file { 'foo':
18
- ensure => present,
19
- }"
20
- }
16
+ let(:code) do
17
+ <<-END
18
+ file { 'foo':
19
+ ensure => present,
20
+ }
21
+ END
22
+ end
21
23
 
22
24
  it 'should not detect any problems' do
23
25
  expect(problems).to have(0).problems
@@ -25,29 +27,33 @@ describe 'ensure_first_param' do
25
27
  end
26
28
 
27
29
  context 'ensure as second attr in a multi line resource' do
28
- let(:code) { "
29
- file { 'foo':
30
- mode => '0000',
31
- ensure => present,
32
- }"
33
- }
34
-
35
- it 'should only detect a single problem' do
30
+ let(:code) do
31
+ <<-END
32
+ file { 'foo':
33
+ mode => '0000',
34
+ ensure => present,
35
+ }
36
+ END
37
+ end
38
+
39
+ it 'should only detect a single problem' do
36
40
  expect(problems).to have(1).problem
37
41
  end
38
42
 
39
43
  it 'should create a warning' do
40
- expect(problems).to contain_warning(msg).on_line(4).in_column(11)
44
+ expect(problems).to contain_warning(msg).on_line(3).in_column(13)
41
45
  end
42
46
  end
43
47
 
44
48
  context 'ensure as first attr in a multi line resource' do
45
- let(:code) { "
46
- file { 'foo':
47
- ensure => present,
48
- mode => '0000',
49
- }"
50
- }
49
+ let(:code) do
50
+ <<-END
51
+ file { 'foo':
52
+ ensure => present,
53
+ mode => '0000',
54
+ }
55
+ END
56
+ end
51
57
 
52
58
  it 'should not detect any problems' do
53
59
  expect(problems).to have(0).problems
@@ -55,18 +61,20 @@ describe 'ensure_first_param' do
55
61
  end
56
62
 
57
63
  context 'ensure as a hash key in classes does not need to be first' do
58
- let(:code) { "
59
- class thing {
60
- class {'thang':
61
- stuff => {
62
- 'stuffing' => {
63
- ensure => 'present',
64
- blah => 'bleah',
65
- }
66
- },
64
+ let(:code) do
65
+ <<-END
66
+ class thing {
67
+ class { 'thang':
68
+ stuff => {
69
+ 'stuffing' => {
70
+ ensure => 'present',
71
+ blah => 'bleah',
72
+ }
73
+ },
67
74
  }
68
- }"
69
- }
75
+ }
76
+ END
77
+ end
70
78
 
71
79
  it 'should not detect any problems' do
72
80
  expect(problems).to have(0).problems
@@ -92,11 +100,13 @@ describe 'ensure_first_param' do
92
100
  end
93
101
 
94
102
  context 'ensure as only attr in a multi line resource' do
95
- let(:code) { "
96
- file { 'foo':
97
- ensure => present,
98
- }"
99
- }
103
+ let(:code) do
104
+ <<-END
105
+ file { 'foo':
106
+ ensure => present,
107
+ }
108
+ END
109
+ end
100
110
 
101
111
  it 'should not detect any problems' do
102
112
  expect(problems).to have(0).problems
@@ -104,37 +114,46 @@ describe 'ensure_first_param' do
104
114
  end
105
115
 
106
116
  context 'ensure as second attr in a multi line resource' do
107
- let(:code) { "
108
- file { 'foo':
109
- mode => '0000',
110
- ensure => present,
111
- }"
112
- }
117
+ let(:code) do
118
+ <<-END
119
+ file { 'foo':
120
+ mode => '0000',
121
+ ensure => present,
122
+ }
123
+ END
124
+ end
125
+
126
+ let(:fixed) do
127
+ <<-END
128
+ file { 'foo':
129
+ ensure => present,
130
+ mode => '0000',
131
+ }
132
+ END
133
+ end
113
134
 
114
135
  it 'should only detect a single problem' do
115
136
  expect(problems).to have(1).problem
116
137
  end
117
138
 
118
139
  it 'should create a warning' do
119
- expect(problems).to contain_fixed(msg).on_line(4).in_column(11)
140
+ expect(problems).to contain_fixed(msg).on_line(3).in_column(13)
120
141
  end
121
142
 
122
143
  it 'should make ensure the first attr' do
123
- expect(manifest).to eq("
124
- file { 'foo':
125
- ensure => present,
126
- mode => '0000',
127
- }")
144
+ expect(manifest).to eq(fixed)
128
145
  end
129
146
  end
130
147
 
131
148
  context 'ensure as first attr in a multi line resource' do
132
- let(:code) { "
133
- file { 'foo':
134
- ensure => present,
135
- mode => '0000',
136
- }"
137
- }
149
+ let(:code) do
150
+ <<-END
151
+ file { 'foo':
152
+ ensure => present,
153
+ mode => '0000',
154
+ }
155
+ END
156
+ end
138
157
 
139
158
  it 'should not detect any problems' do
140
159
  expect(problems).to have(0).problems
@@ -142,18 +161,20 @@ describe 'ensure_first_param' do
142
161
  end
143
162
 
144
163
  context 'ensure as a hash key in classes does not need to be first' do
145
- let(:code) { "
146
- class thing {
147
- class {'thang':
148
- stuff => {
149
- 'stuffing' => {
150
- ensure => 'present',
151
- blah => 'bleah',
152
- }
153
- },
164
+ let(:code) do
165
+ <<-END
166
+ class thing {
167
+ class { 'thang':
168
+ stuff => {
169
+ 'stuffing' => {
170
+ ensure => 'present',
171
+ blah => 'bleah',
172
+ }
173
+ },
154
174
  }
155
- }"
156
- }
175
+ }
176
+ END
177
+ end
157
178
 
158
179
  it 'should not detect any problems' do
159
180
  expect(problems).to have(0).problems
@@ -161,38 +182,42 @@ describe 'ensure_first_param' do
161
182
  end
162
183
 
163
184
  context 'ensure is a selector' do
164
- let(:code) { "
165
- file { 'foo':
166
- mode => '0640',
167
- ensure => $::operatingsystem ? {
168
- 'redhat' => absent,
169
- default => $::phase_of_the_moon ? {
170
- 'full' => absent,
171
- default => present,
185
+ let(:code) do
186
+ <<-END
187
+ file { 'foo':
188
+ mode => '0640',
189
+ ensure => $::operatingsystem ? {
190
+ 'redhat' => absent,
191
+ default => $::phase_of_the_moon ? {
192
+ 'full' => absent,
193
+ default => present,
194
+ },
172
195
  },
173
- },
174
- }
175
- " }
176
-
177
- let(:fixed) { "
178
- file { 'foo':
179
- ensure => $::operatingsystem ? {
180
- 'redhat' => absent,
181
- default => $::phase_of_the_moon ? {
182
- 'full' => absent,
183
- default => present,
196
+ }
197
+ END
198
+ end
199
+
200
+ let(:fixed) do
201
+ <<-END
202
+ file { 'foo':
203
+ ensure => $::operatingsystem ? {
204
+ 'redhat' => absent,
205
+ default => $::phase_of_the_moon ? {
206
+ 'full' => absent,
207
+ default => present,
208
+ },
184
209
  },
185
- },
186
- mode => '0640',
187
- }
188
- " }
210
+ mode => '0640',
211
+ }
212
+ END
213
+ end
189
214
 
190
215
  it 'should detect a problem' do
191
216
  expect(problems).to have(1).problem
192
217
  end
193
218
 
194
219
  it 'should fix the problem' do
195
- expect(problems).to contain_fixed(msg).on_line(4).in_column(11)
220
+ expect(problems).to contain_fixed(msg).on_line(3).in_column(13)
196
221
  end
197
222
 
198
223
  it 'should move the whole ensure parameter to the top' do
@@ -5,12 +5,14 @@ describe 'ensure_not_symlink_target' do
5
5
 
6
6
  context 'with fix disabled' do
7
7
  context 'file resource creating a symlink with seperate target attr' do
8
- let(:code) { "
9
- file { 'foo':
10
- ensure => link,
11
- target => '/foo/bar',
12
- }"
13
- }
8
+ let(:code) do
9
+ <<-END
10
+ file { 'foo':
11
+ ensure => link,
12
+ target => '/foo/bar',
13
+ }
14
+ END
15
+ end
14
16
 
15
17
  it 'should not detect any problems' do
16
18
  expect(problems).to have(0).problems
@@ -18,18 +20,20 @@ describe 'ensure_not_symlink_target' do
18
20
  end
19
21
 
20
22
  context 'file resource creating a symlink with target specified in ensure' do
21
- let(:code) { "
22
- file { 'foo':
23
- ensure => '/foo/bar',
24
- }"
25
- }
23
+ let(:code) do
24
+ <<-END
25
+ file { 'foo':
26
+ ensure => '/foo/bar',
27
+ }
28
+ END
29
+ end
26
30
 
27
31
  it 'should only detect a single problem' do
28
32
  expect(problems).to have(1).problem
29
33
  end
30
34
 
31
35
  it 'should create a warning' do
32
- expect(problems).to contain_warning(msg).on_line(3).in_column(21)
36
+ expect(problems).to contain_warning(msg).on_line(2).in_column(23)
33
37
  end
34
38
  end
35
39
  end
@@ -44,12 +48,14 @@ describe 'ensure_not_symlink_target' do
44
48
  end
45
49
 
46
50
  context 'file resource creating a symlink with seperate target attr' do
47
- let(:code) { "
48
- file { 'foo':
49
- ensure => link,
50
- target => '/foo/bar',
51
- }"
52
- }
51
+ let(:code) do
52
+ <<-END
53
+ file { 'foo':
54
+ ensure => link,
55
+ target => '/foo/bar',
56
+ }
57
+ END
58
+ end
53
59
 
54
60
  it 'should not detect any problems' do
55
61
  expect(problems).to have(0).problems
@@ -61,24 +67,29 @@ describe 'ensure_not_symlink_target' do
61
67
  end
62
68
 
63
69
  context 'file resource creating a symlink with target specified in ensure' do
64
- let(:code) { "
65
- file { 'foo':
66
- ensure => '/foo/bar',
67
- }"
68
- }
69
- let(:fixed) { "
70
- file { 'foo':
71
- ensure => symlink,
72
- target => '/foo/bar',
73
- }"
74
- }
70
+ let(:code) do
71
+ <<-END
72
+ file { 'foo':
73
+ ensure => '/foo/bar',
74
+ }
75
+ END
76
+ end
77
+
78
+ let(:fixed) do
79
+ <<-END
80
+ file { 'foo':
81
+ ensure => symlink,
82
+ target => '/foo/bar',
83
+ }
84
+ END
85
+ end
75
86
 
76
87
  it 'should only detect a single problem' do
77
88
  expect(problems).to have(1).problem
78
89
  end
79
90
 
80
91
  it 'should fix the problem' do
81
- expect(problems).to contain_fixed(msg).on_line(3).in_column(21)
92
+ expect(problems).to contain_fixed(msg).on_line(2).in_column(23)
82
93
  end
83
94
 
84
95
  it 'should create a new target param' do