puppet-lint-absolute_classname-check 1.0.0 → 2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8151b5f2ac93aa1535818002c3f0a9a506c2de42a4e48c34aa178de66e306f77
4
- data.tar.gz: 35557e3d473126306e915a2938d1f76c7e63894e8f037ec441989380cf93afd8
3
+ metadata.gz: 0f8457df6a20dcdc3263f3a9d07c24a46affe2ead023a08da5ae0ed52dc22763
4
+ data.tar.gz: 34e1a29a81bffae3cdcb73d47837576778d3ca36146d196822e7b59795b06254
5
5
  SHA512:
6
- metadata.gz: 258fdd9e006ba53677ffcf094656e8ee4d2a8e5578e0cac65add4be569a91f7c9bf27728199dd5705e4de350f58a363d2244c8ab69bb149ff25498192bfa1b5e
7
- data.tar.gz: 9ece5d2055e39f6dd4cbe737d9aad9627b2bb22a3c2bd598d1cd32a2381e5f978a5522f4bd36de9c48d0b3feaa5cca3291f368ca47404a2f0d03d410482fee8d
6
+ metadata.gz: 8f84c2b01a0d6d5eaa56279b24459889f3e00be262dfb931c9e5ad0f9b9f24bc7b4eeb7c8975d7e66ddea506837828a82b0f8fc1968cf8afb8886f6ff70b9e0c
7
+ data.tar.gz: 2a804b84105435ff4be5e344e2b9cb95270c7d3ecda64e733cff498eb77f4379988119504b8a7f7a66599af2998c7ef91d1a07b491bfb7b9f6062bc5ac0fa62a
data/README.md CHANGED
@@ -5,7 +5,6 @@ puppet-lint-absolute_classname-check
5
5
  [![Gem Version](https://img.shields.io/gem/v/puppet-lint-absolute_classname-check.svg)](https://rubygems.org/gems/puppet-lint-absolute_classname-check)
6
6
  [![Gem Downloads](https://img.shields.io/gem/dt/puppet-lint-absolute_classname-check.svg)](https://rubygems.org/gems/puppet-lint-absolute_classname-check)
7
7
  [![Coverage Status](https://img.shields.io/coveralls/voxpupuli/puppet-lint-absolute_classname-check.svg)](https://coveralls.io/r/voxpupuli/puppet-lint-absolute_classname-check?branch=master)
8
- [![Gemnasium](https://img.shields.io/gemnasium/voxpupuli/puppet-lint-absolute_classname-check.svg)](https://gemnasium.com/voxpupuli/puppet-lint-absolute_classname-check)
9
8
  [![Donated by Camptocamp](https://img.shields.io/badge/donated%20by-camptocamp-fb7047.svg)](#transfer-notice)
10
9
 
11
10
  A puppet-lint plugin to check that classes are included by their absolute name.
@@ -39,26 +38,18 @@ gem 'puppet-lint-absolute_classname-check', :require => false
39
38
 
40
39
  ### Relative class name inclusion
41
40
 
42
- Including a class by a relative name might lead to unexpected results [in Puppet 3](https://docs.puppet.com/puppet/3/lang_namespaces.html#relative-name-lookup-and-incorrect-name-resolution).
41
+ Including a class by a relative name might lead to unexpected results [in Puppet 3](https://docs.puppet.com/puppet/3/lang_namespaces.html#relative-name-lookup-and-incorrect-name-resolution). That's why a lot of manifests explicitly include by the absolute name. Since Puppet 4 names are always absolute and this is no longer needed. This lint check helps to clean up your manifests.
43
42
 
44
43
  #### What you have done
45
44
 
46
45
  ```puppet
47
- include foobar
46
+ include ::foobar
48
47
  ```
49
48
 
50
49
  #### What you should have done
51
50
 
52
51
  ```puppet
53
- include ::foobar
54
- ```
55
-
56
- #### Reverse this check
57
-
58
- This check can be reversed to check for Puppet > 4.
59
-
60
- ```ruby
61
- PuppetLint.configuration.absolute_classname_reverse = true
52
+ include foobar
62
53
  ```
63
54
 
64
55
  #### Disabling the check
@@ -87,7 +78,6 @@ Previously: https://github.com/camptocamp/puppet-lint-absolute_classname-check
87
78
 
88
79
  To make a new release, please do:
89
80
  * Update the version in the `puppet-lint-absolute_classname-check.gemspec` file
90
- * Update the version in the Rakefile
91
81
  * Install gems with `bundle install --with release --path .vendor`
92
82
  * generate the changelog with `bundle exec rake changelog`
93
83
  * Create a PR with it
@@ -1,14 +1,8 @@
1
1
  PuppetLint.new_check(:relative_classname_inclusion) do
2
2
  def check
3
+ message = 'class included by absolute name (::$class)'
4
+
3
5
  tokens.each_with_index do |token, token_idx|
4
- reverse = PuppetLint.configuration.absolute_classname_reverse || false
5
- if reverse
6
- pattern = '^(?!::)'
7
- message = 'class included by absolute name (::$class)'
8
- else
9
- pattern = '^::'
10
- message = 'class included by relative name'
11
- end
12
6
  if [:NAME,:FUNCTION_NAME].include?(token.type) && ['include','contain','require'].include?(token.value)
13
7
  s = token.next_code_token
14
8
  next if s.nil?
@@ -22,7 +16,7 @@ PuppetLint.new_check(:relative_classname_inclusion) do
22
16
  in_function += 1
23
17
  elsif in_function > 0 && n && n.type == :RPAREN
24
18
  in_function -= 1
25
- elsif in_function.zero? && s.value !~ /#{pattern}/
19
+ elsif in_function.zero? && s.value.start_with?('::')
26
20
  notify :warning, {
27
21
  message: message,
28
22
  line: s.line,
@@ -36,7 +30,7 @@ PuppetLint.new_check(:relative_classname_inclusion) do
36
30
  elsif token.type == :CLASS and token.next_code_token.type == :LBRACE
37
31
  s = token.next_code_token
38
32
  while s.type != :COLON
39
- if (s.type == :NAME || s.type == :SSTRING) && s.value !~ /#{pattern}/
33
+ if (s.type == :NAME || s.type == :SSTRING) && s.value.start_with?('::')
40
34
  notify :warning, {
41
35
  message: message,
42
36
  line: s.line,
@@ -51,11 +45,6 @@ PuppetLint.new_check(:relative_classname_inclusion) do
51
45
  end
52
46
 
53
47
  def fix(problem)
54
- reverse = PuppetLint.configuration.absolute_classname_reverse || false
55
- problem[:token].value = if reverse
56
- problem[:token].value[2..-1]
57
- else
58
- '::' + problem[:token].value
59
- end
48
+ problem[:token].value = problem[:token].value[2..-1]
60
49
  end
61
50
  end
@@ -1,419 +1,202 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe 'relative_classname_inclusion' do
4
- describe '(default)' do
5
- let(:msg) { 'class included by relative name' }
6
-
7
- context 'with fix disabled' do
8
- context 'when absolute names are used' do
9
- let(:code) do
10
- <<-EOS
11
- include ::foobar
12
- include('::foobar')
13
- include(foobar(baz))
14
- include(foobar('baz'))
15
-
16
- include ::foo, ::bar
17
- include('::foo', '::bar')
18
-
19
- class { '::foobar': }
20
-
21
- class foobar {
22
- }
23
-
24
- contain ::foobar
25
- contain('::foobar')
26
- contain(foobar(baz))
27
- contain(foobar('baz'))
28
-
29
- require ::foobar
30
- require('::foobar')
31
- require(foobar(baz))
32
- require(foobar('baz'))
33
- EOS
34
- end
35
-
36
- it 'should not detect any problems' do
37
- expect(problems).to have(0).problems
38
- end
39
- end
4
+ let(:msg) { 'class included by absolute name (::$class)' }
5
+
6
+ context 'with fix disabled' do
7
+ context 'when absolute names are used' do
8
+ let(:code) do
9
+ <<-EOS
10
+ include ::foobar
11
+ include('::foobar')
12
+ include(foobar(baz))
13
+ include(foobar('baz'))
14
+
15
+ include ::foo, ::bar
16
+ include('::foo', '::bar')
17
+
18
+ class { '::foobar': }
40
19
 
41
- context 'when relative names are used' do
42
- let(:code) do
43
- <<-EOS
44
- include foobar
45
- include(foobar)
46
- class { 'foobar': }
47
- contain foobar
48
- contain(foobar)
49
- require foobar
50
- require(foobar)
51
- EOS
52
- end
53
-
54
- it 'should detect 7 problems' do
55
- expect(problems).to have(7).problems
56
- end
57
-
58
- it 'should create warnings' do
59
- expect(problems).to contain_warning(msg).on_line(1).in_column(19)
60
- expect(problems).to contain_warning(msg).on_line(2).in_column(19)
61
- expect(problems).to contain_warning(msg).on_line(3).in_column(19)
62
- expect(problems).to contain_warning(msg).on_line(4).in_column(19)
63
- expect(problems).to contain_warning(msg).on_line(5).in_column(19)
64
- expect(problems).to contain_warning(msg).on_line(6).in_column(19)
65
- expect(problems).to contain_warning(msg).on_line(7).in_column(19)
66
- end
20
+ class foobar {
21
+ }
22
+
23
+ contain ::foobar
24
+ contain('::foobar')
25
+ contain(foobar(baz))
26
+ contain(foobar('baz'))
27
+
28
+ require ::foobar
29
+ require('::foobar')
30
+ require(foobar(baz))
31
+ require(foobar('baz'))
32
+ EOS
67
33
  end
68
34
 
69
- context 'when the require metadata parameter is used' do
70
- let(:code) do
71
- <<-EOS
72
- file { '/path':
73
- ensure => present,
74
- require => Shellvar['http_proxy'],
75
- }
76
- EOS
77
- end
78
-
79
- it 'should detect no problems' do
80
- expect(problems).to have(0).problems
81
- end
35
+ it 'should detect 11 problems' do
36
+ expect(problems).to have(11).problems
82
37
  end
83
38
 
84
- context 'when require is a hash key' do
85
- let(:code) do
86
- <<-EOS
87
- $defaults = {
88
- require => Exec['apt_update'],
89
- }
90
- $defaults = {
91
- 'require' => Exec['apt_update'],
92
- }
93
- EOS
94
- end
95
-
96
- it 'should detect no problems' do
97
- expect(problems).to have(0).problems
98
- end
39
+ it 'should create warnings' do
40
+ expect(problems).to contain_warning(msg).on_line(1).in_column(17)
41
+ expect(problems).to contain_warning(msg).on_line(2).in_column(17)
42
+ expect(problems).to contain_warning(msg).on_line(6).in_column(17)
43
+ expect(problems).to contain_warning(msg).on_line(6).in_column(24)
44
+ expect(problems).to contain_warning(msg).on_line(7).in_column(17)
45
+ expect(problems).to contain_warning(msg).on_line(7).in_column(26)
46
+ expect(problems).to contain_warning(msg).on_line(9).in_column(17)
47
+ expect(problems).to contain_warning(msg).on_line(14).in_column(17)
48
+ expect(problems).to contain_warning(msg).on_line(15).in_column(17)
49
+ expect(problems).to contain_warning(msg).on_line(19).in_column(17)
50
+ expect(problems).to contain_warning(msg).on_line(20).in_column(17)
99
51
  end
100
52
  end
101
53
 
102
- context 'with fix enabled' do
103
- before do
104
- PuppetLint.configuration.fix = true
54
+ context 'when relative names are used' do
55
+ let(:code) do
56
+ <<-EOS
57
+ include foobar
58
+ include(foobar)
59
+ class { 'foobar': }
60
+ contain foobar
61
+ contain(foobar)
62
+ require foobar
63
+ require(foobar)
64
+ EOS
105
65
  end
106
66
 
107
- after do
108
- PuppetLint.configuration.fix = false
67
+ it 'should not detect a problem' do
68
+ expect(problems).to have(0).problems
109
69
  end
70
+ end
110
71
 
111
- context 'when absolute names are used' do
112
- let(:code) do
113
- <<-EOS
114
- include ::foobar
115
- include('::foobar')
116
- include(foobar(baz))
117
- include(foobar('baz'))
118
-
119
- include ::foo, ::bar
120
- include('::foo', '::bar')
121
-
122
- class { '::foobar': }
123
-
124
- class foobar {
125
- }
126
-
127
- contain ::foobar
128
- contain('::foobar')
129
- contain(foobar(baz))
130
- contain(foobar('baz'))
131
-
132
- require ::foobar
133
- require('::foobar')
134
- require(foobar(baz))
135
- require(foobar('baz'))
136
- EOS
137
- end
138
-
139
- it 'should not detect any problems' do
140
- expect(problems).to have(0).problems
141
- end
72
+ context 'when the require metadata parameter is used' do
73
+ let(:code) do
74
+ <<-EOS
75
+ file { '/path':
76
+ ensure => present,
77
+ require => Shellvar['http_proxy'],
78
+ }
79
+ EOS
142
80
  end
143
81
 
144
- context 'when relative names are used' do
145
- let(:code) do
146
- <<-EOS
147
- include foobar
148
- include(foobar)
149
- class { 'foobar': }
150
- contain foobar
151
- contain(foobar)
152
- require foobar
153
- require(foobar)
154
- EOS
155
- end
156
-
157
- it 'should detect 7 problems' do
158
- expect(problems).to have(7).problems
159
- end
160
-
161
- it 'should fix the problems' do
162
- expect(problems).to contain_fixed(msg).on_line(1).in_column(19)
163
- expect(problems).to contain_fixed(msg).on_line(2).in_column(19)
164
- expect(problems).to contain_fixed(msg).on_line(3).in_column(19)
165
- expect(problems).to contain_fixed(msg).on_line(4).in_column(19)
166
- expect(problems).to contain_fixed(msg).on_line(5).in_column(19)
167
- expect(problems).to contain_fixed(msg).on_line(6).in_column(19)
168
- expect(problems).to contain_fixed(msg).on_line(7).in_column(19)
169
- end
170
-
171
- it 'should should add colons' do
172
- expect(manifest).to eq(
173
- <<-EOS
174
- include ::foobar
175
- include(::foobar)
176
- class { '::foobar': }
177
- contain ::foobar
178
- contain(::foobar)
179
- require ::foobar
180
- require(::foobar)
181
- EOS
182
- )
183
- end
82
+ it 'should detect no problems' do
83
+ expect(problems).to have(0).problems
184
84
  end
185
85
  end
186
86
 
187
- describe '(#12) behavior of lookup("foo", {merge => unique}).include' do
188
- let(:msg) { '(#12) class included with lookup("foo", {merge => unique}).include' }
189
-
87
+ context 'when require is a hash key' do
190
88
  let(:code) do
191
89
  <<-EOS
192
- lookup(foo, {merge => unique}).include
90
+ $defaults = {
91
+ require => Exec['apt_update'],
92
+ }
93
+ $defaults = {
94
+ 'require' => Exec['apt_update'],
95
+ }
193
96
  EOS
194
97
  end
195
98
 
196
- it 'should not detect any problems' do
99
+ it 'should detect no problems' do
197
100
  expect(problems).to have(0).problems
198
101
  end
199
102
  end
200
103
  end
201
104
 
202
- describe '(reversed)' do
105
+ context 'with fix enabled' do
203
106
  before do
204
- PuppetLint.configuration.absolute_classname_reverse = true
107
+ PuppetLint.configuration.fix = true
205
108
  end
206
- let(:msg) { 'class included by absolute name (::$class)' }
207
-
208
- context 'with fix disabled' do
209
- context 'when absolute names are used' do
210
- let(:code) do
211
- <<-EOS
212
- include ::foobar
213
- include('::foobar')
214
- include(foobar(baz))
215
- include(foobar('baz'))
216
-
217
- include ::foo, ::bar
218
- include('::foo', '::bar')
219
-
220
- class { '::foobar': }
221
-
222
- class foobar {
223
- }
224
-
225
- contain ::foobar
226
- contain('::foobar')
227
- contain(foobar(baz))
228
- contain(foobar('baz'))
229
-
230
- require ::foobar
231
- require('::foobar')
232
- require(foobar(baz))
233
- require(foobar('baz'))
234
- EOS
235
- end
236
-
237
- it 'should detect 11 problems' do
238
- expect(problems).to have(11).problems
239
- end
240
-
241
- it 'should create warnings' do
242
- expect(problems).to contain_warning(msg).on_line(1).in_column(19)
243
- expect(problems).to contain_warning(msg).on_line(2).in_column(19)
244
- expect(problems).to contain_warning(msg).on_line(6).in_column(19)
245
- expect(problems).to contain_warning(msg).on_line(6).in_column(26)
246
- expect(problems).to contain_warning(msg).on_line(7).in_column(19)
247
- expect(problems).to contain_warning(msg).on_line(7).in_column(28)
248
- expect(problems).to contain_warning(msg).on_line(9).in_column(19)
249
- expect(problems).to contain_warning(msg).on_line(14).in_column(19)
250
- expect(problems).to contain_warning(msg).on_line(15).in_column(19)
251
- expect(problems).to contain_warning(msg).on_line(19).in_column(19)
252
- expect(problems).to contain_warning(msg).on_line(20).in_column(19)
253
- end
254
- end
255
109
 
256
- context 'when relative names are used' do
257
- let(:code) do
258
- <<-EOS
259
- include foobar
260
- include(foobar)
261
- class { 'foobar': }
262
- contain foobar
263
- contain(foobar)
264
- require foobar
265
- require(foobar)
266
- EOS
267
- end
268
-
269
- it 'should not detect a problem' do
270
- expect(problems).to have(0).problems
271
- end
272
- end
110
+ after do
111
+ PuppetLint.configuration.fix = false
112
+ end
273
113
 
274
- context 'when the require metadata parameter is used' do
275
- let(:code) do
276
- <<-EOS
277
- file { '/path':
278
- ensure => present,
279
- require => Shellvar['http_proxy'],
280
- }
281
- EOS
282
- end
283
-
284
- it 'should detect no problems' do
285
- expect(problems).to have(0).problems
286
- end
287
- end
114
+ context 'when absolute names are used' do
115
+ let(:code) do
116
+ <<-EOS
117
+ include ::foobar
118
+ include('::foobar')
119
+ include(foobar(baz))
120
+ include(foobar('baz'))
288
121
 
289
- context 'when require is a hash key' do
290
- let(:code) do
291
- <<-EOS
292
- $defaults = {
293
- require => Exec['apt_update'],
294
- }
295
- $defaults = {
296
- 'require' => Exec['apt_update'],
297
- }
298
- EOS
299
- end
300
-
301
- it 'should detect no problems' do
302
- expect(problems).to have(0).problems
303
- end
304
- end
305
- end
122
+ include ::foo, ::bar
123
+ include('::foo', '::bar')
124
+
125
+ class { '::foobar': }
306
126
 
307
- context 'with fix enabled' do
308
- before do
309
- PuppetLint.configuration.fix = true
127
+ class foobar {
128
+ }
129
+
130
+ contain ::foobar
131
+ contain('::foobar')
132
+ contain(foobar(baz))
133
+ contain(foobar('baz'))
134
+
135
+ require ::foobar
136
+ require('::foobar')
137
+ require(foobar(baz))
138
+ require(foobar('baz'))
139
+ EOS
310
140
  end
311
141
 
312
- after do
313
- PuppetLint.configuration.fix = false
142
+ it 'should detect 11 problems' do
143
+ expect(problems).to have(11).problems
314
144
  end
315
145
 
316
- context 'when absolute names are used' do
317
- let(:code) do
318
- <<-EOS
319
- include ::foobar
320
- include('::foobar')
321
- include(foobar(baz))
322
- include(foobar('baz'))
323
-
324
- include ::foo, ::bar
325
- include('::foo', '::bar')
326
-
327
- class { '::foobar': }
328
-
329
- class foobar {
330
- }
331
-
332
- contain ::foobar
333
- contain('::foobar')
334
- contain(foobar(baz))
335
- contain(foobar('baz'))
336
-
337
- require ::foobar
338
- require('::foobar')
339
- require(foobar(baz))
340
- require(foobar('baz'))
341
- EOS
342
- end
343
-
344
- it 'should detect 11 problems' do
345
- expect(problems).to have(11).problems
346
- end
347
-
348
- it 'should fix the problems' do
349
- expect(problems).to contain_fixed(msg).on_line(1).in_column(19)
350
- expect(problems).to contain_fixed(msg).on_line(2).in_column(19)
351
- expect(problems).to contain_fixed(msg).on_line(6).in_column(19)
352
- expect(problems).to contain_fixed(msg).on_line(6).in_column(26)
353
- expect(problems).to contain_fixed(msg).on_line(7).in_column(19)
354
- expect(problems).to contain_fixed(msg).on_line(7).in_column(28)
355
- expect(problems).to contain_fixed(msg).on_line(9).in_column(19)
356
- expect(problems).to contain_fixed(msg).on_line(14).in_column(19)
357
- expect(problems).to contain_fixed(msg).on_line(15).in_column(19)
358
- expect(problems).to contain_fixed(msg).on_line(19).in_column(19)
359
- expect(problems).to contain_fixed(msg).on_line(20).in_column(19)
360
- end
361
-
362
- it 'should should remove colons' do
363
- expect(manifest).to eq(
364
- <<-EOS
365
- include foobar
366
- include('foobar')
367
- include(foobar(baz))
368
- include(foobar('baz'))
369
-
370
- include foo, bar
371
- include('foo', 'bar')
372
-
373
- class { 'foobar': }
374
-
375
- class foobar {
376
- }
377
-
378
- contain foobar
379
- contain('foobar')
380
- contain(foobar(baz))
381
- contain(foobar('baz'))
382
-
383
- require foobar
384
- require('foobar')
385
- require(foobar(baz))
386
- require(foobar('baz'))
387
- EOS
388
- )
389
- end
146
+ it 'should fix the problems' do
147
+ expect(problems).to contain_fixed(msg).on_line(1).in_column(17)
148
+ expect(problems).to contain_fixed(msg).on_line(2).in_column(17)
149
+ expect(problems).to contain_fixed(msg).on_line(6).in_column(17)
150
+ expect(problems).to contain_fixed(msg).on_line(6).in_column(24)
151
+ expect(problems).to contain_fixed(msg).on_line(7).in_column(17)
152
+ expect(problems).to contain_fixed(msg).on_line(7).in_column(26)
153
+ expect(problems).to contain_fixed(msg).on_line(9).in_column(17)
154
+ expect(problems).to contain_fixed(msg).on_line(14).in_column(17)
155
+ expect(problems).to contain_fixed(msg).on_line(15).in_column(17)
156
+ expect(problems).to contain_fixed(msg).on_line(19).in_column(17)
157
+ expect(problems).to contain_fixed(msg).on_line(20).in_column(17)
390
158
  end
391
159
 
392
- context 'when relative names are used' do
393
- let(:code) do
394
- <<-EOS
395
- include foobar
396
- include(foobar)
397
- class { 'foobar': }
398
- contain foobar
399
- contain(foobar)
400
- require foobar
401
- require(foobar)
402
- EOS
403
- end
404
-
405
- it 'should not detect any problems' do
406
- expect(problems).to have(0).problems
407
- end
160
+ it 'should should remove colons' do
161
+ expect(manifest).to eq(
162
+ <<-EOS
163
+ include foobar
164
+ include('foobar')
165
+ include(foobar(baz))
166
+ include(foobar('baz'))
167
+
168
+ include foo, bar
169
+ include('foo', 'bar')
170
+
171
+ class { 'foobar': }
172
+
173
+ class foobar {
174
+ }
175
+
176
+ contain foobar
177
+ contain('foobar')
178
+ contain(foobar(baz))
179
+ contain(foobar('baz'))
180
+
181
+ require foobar
182
+ require('foobar')
183
+ require(foobar(baz))
184
+ require(foobar('baz'))
185
+ EOS
186
+ )
408
187
  end
409
188
  end
410
189
 
411
- describe '(#12) behavior of lookup("foo", {merge => unique}).include' do
412
- let(:msg) { '(#12) class included with lookup("foo", {merge => unique}).include' }
413
-
190
+ context 'when relative names are used' do
414
191
  let(:code) do
415
192
  <<-EOS
416
- lookup(foo, {merge => unique}).include
193
+ include foobar
194
+ include(foobar)
195
+ class { 'foobar': }
196
+ contain foobar
197
+ contain(foobar)
198
+ require foobar
199
+ require(foobar)
417
200
  EOS
418
201
  end
419
202
 
@@ -422,4 +205,18 @@ describe 'relative_classname_inclusion' do
422
205
  end
423
206
  end
424
207
  end
208
+
209
+ describe '(#12) behavior of lookup("foo", {merge => unique}).include' do
210
+ let(:msg) { '(#12) class included with lookup("foo", {merge => unique}).include' }
211
+
212
+ let(:code) do
213
+ <<-EOS
214
+ lookup(foo, {merge => unique}).include
215
+ EOS
216
+ end
217
+
218
+ it 'should not detect any problems' do
219
+ expect(problems).to have(0).problems
220
+ end
221
+ end
425
222
  end
@@ -1,8 +1,5 @@
1
- unless RUBY_VERSION =~ /^1\.8/
2
- require 'coveralls'
3
- Coveralls.wear!
4
- end
1
+ require 'coveralls'
2
+ Coveralls.wear!
5
3
 
6
4
  require 'puppet-lint'
7
-
8
5
  PuppetLint::Plugins.load_spec_helper
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet-lint-absolute_classname-check
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vox Pupuli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-09 00:00:00.000000000 Z
11
+ date: 2019-12-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: puppet-lint
@@ -44,20 +44,6 @@ dependencies:
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0'
47
- - !ruby/object:Gem::Dependency
48
- name: mime-types
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: '0'
61
47
  - !ruby/object:Gem::Dependency
62
48
  name: rake
63
49
  requirement: !ruby/object:Gem::Requirement
@@ -138,14 +124,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
138
124
  requirements:
139
125
  - - ">="
140
126
  - !ruby/object:Gem::Version
141
- version: '0'
127
+ version: 2.1.0
142
128
  required_rubygems_version: !ruby/object:Gem::Requirement
143
129
  requirements:
144
130
  - - ">="
145
131
  - !ruby/object:Gem::Version
146
132
  version: '0'
147
133
  requirements: []
148
- rubygems_version: 3.0.2
134
+ rubyforge_project:
135
+ rubygems_version: 2.7.7
149
136
  signing_key:
150
137
  specification_version: 4
151
138
  summary: A puppet-lint plugin to check that classes are included by their absolute