Skip to content

Commit ead2e6f

Browse files
committed
More robust PSProvideDefaultParameterValue tests
1 parent be83037 commit ead2e6f

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

Tests/Rules/ProvideDefaultParameterValue.ps1

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
function BadFunc
22
{
33
param(
4-
[Parameter()]
4+
[Parameter(Mandatory=$true)]
55
[ValidateNotNullOrEmpty()]
66
[string]
7-
$Param1
7+
$Param1,
8+
[Parameter(Mandatory=$false)]
9+
[ValidateNotNullOrEmpty()]
10+
[string]
11+
$Param2
812
)
913
$Param1
1014
$Param1 = "test"

Tests/Rules/ProvideDefaultParameterValue.tests.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Import-Module PSScriptAnalyzer
22
$violationName = "PSProvideDefaultParameterValue"
3-
$violationMessage = "Parameter 'Param1' is not initialized. Parameters must have a default value. To fix a violation of this rule, please specify a default value for all parameters"
3+
$violationMessage = "Parameter 'Param2' is not initialized. Parameters must have a default value. To fix a violation of this rule, please specify a default value for all parameters"
44
$directory = Split-Path -Parent $MyInvocation.MyCommand.Path
55
$violations = Invoke-ScriptAnalyzer $directory\ProvideDefaultParameterValue.ps1 | Where-Object {$_.RuleName -match $violationName}
66
$noViolations = Invoke-ScriptAnalyzer $directory\ProvideDefaultParameterValueNoViolations.ps1

Tests/Rules/ProvideDefaultParameterValueNoViolations.ps1

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
function GoodFunc
22
{
33
param(
4+
[Parameter(Mandatory=$true)]
5+
[ValidateNotNullOrEmpty()]
6+
[string]
7+
$Param1,
48
[Parameter(Mandatory=$false)]
59
[ValidateNotNullOrEmpty()]
610
[string]
7-
$Param1=$null
11+
$Param2=$null
812
)
913
$Param1
1014
}

0 commit comments

Comments
 (0)