puppet-lint-param-docs 1.5.0 → 1.5.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 14633dfc2336826ed35662bf1840e6ef992f0032146f2a932a988a42521b2006
|
4
|
+
data.tar.gz: 9f7a4139402ebe4d390f07b38ed5013e4f10b42bf3e793d8b6a4e05c170d25c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c685fe25b7b03c9af645f2ff82ea4c86e3c820ce3343c16b4a8926be097a0e3fa4723910a7f5c71e555978101dc61a0739f6496abcae8eea2ca4296a8a3ec14
|
7
|
+
data.tar.gz: d696ad85c260c8956787f27a3af8b37a8b26526b57d789f005881ae89de538241fbaa7daca6ad03abd6e0576db71a306c1227f8b3cecb226dc4cd44d18a7927e
|
@@ -28,10 +28,18 @@ PuppetLint.new_check(:parameter_documentation) do
|
|
28
28
|
while (ptok = e.next)
|
29
29
|
if ptok.type == :VARIABLE
|
30
30
|
params << ptok
|
31
|
+
nesting = 0
|
31
32
|
# skip to the next parameter to avoid finding default values of variables
|
32
33
|
while true
|
33
34
|
ptok = e.next
|
34
|
-
|
35
|
+
case ptok.type
|
36
|
+
when :LPAREN
|
37
|
+
nesting += 1
|
38
|
+
when :RPAREN
|
39
|
+
nesting -= 1
|
40
|
+
when :COMMA
|
41
|
+
break unless nesting > 0
|
42
|
+
end
|
35
43
|
end
|
36
44
|
end
|
37
45
|
end
|
@@ -52,6 +52,18 @@ describe 'parameter_documentation' do
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
+
context 'define with param defaults using a function' do
|
56
|
+
let(:code) { 'define example($foo = min(8, $facts["processors"]["count"])) { }' }
|
57
|
+
|
58
|
+
it 'should detect a single problem' do
|
59
|
+
expect(problems).to have(1).problem
|
60
|
+
end
|
61
|
+
|
62
|
+
it 'should create a warning' do
|
63
|
+
expect(problems).to contain_warning(define_msg % :foo).on_line(1).in_column(16)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
55
67
|
context 'class with many param defaults' do
|
56
68
|
let(:code) do
|
57
69
|
<<-EOS
|
@@ -443,6 +455,42 @@ define foreman (
|
|
443
455
|
end
|
444
456
|
end
|
445
457
|
|
458
|
+
context 'define with all parameters documented with defaults (@param)' do
|
459
|
+
let(:code) do
|
460
|
+
<<-EOS
|
461
|
+
# Example define
|
462
|
+
#
|
463
|
+
# @param foo example
|
464
|
+
#
|
465
|
+
define example($foo = $facts['networking']['fqdn']) { }
|
466
|
+
EOS
|
467
|
+
end
|
468
|
+
|
469
|
+
it 'should not detect any problems' do
|
470
|
+
expect(problems).to have(0).problems
|
471
|
+
end
|
472
|
+
end
|
473
|
+
|
474
|
+
context 'define with all parameters documented with defaults using functions (@param)' do
|
475
|
+
let(:code) do
|
476
|
+
<<-EOS
|
477
|
+
# Example define
|
478
|
+
#
|
479
|
+
# @param foo example
|
480
|
+
# @param multiple test nested function calls
|
481
|
+
#
|
482
|
+
define example(
|
483
|
+
$foo = min(8, $facts['processors']['count']),
|
484
|
+
$multiple = min(8, max(2, $facts['processors']['count'])),
|
485
|
+
) { }
|
486
|
+
EOS
|
487
|
+
end
|
488
|
+
|
489
|
+
it 'should not detect any problems' do
|
490
|
+
expect(problems).to have(0).problems
|
491
|
+
end
|
492
|
+
end
|
493
|
+
|
446
494
|
context 'class without parameters' do
|
447
495
|
let(:code) { 'class example { }' }
|
448
496
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-lint-param-docs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.
|
4
|
+
version: 1.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vox Pupuli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puppet-lint
|
@@ -132,7 +132,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
132
|
- !ruby/object:Gem::Version
|
133
133
|
version: '0'
|
134
134
|
requirements: []
|
135
|
-
|
135
|
+
rubyforge_project:
|
136
|
+
rubygems_version: 2.7.7
|
136
137
|
signing_key:
|
137
138
|
specification_version: 4
|
138
139
|
summary: puppet-lint check to validate all parameters are documented
|