From f0ca2007d33fbd467c06dddcd1e6dd557a38c2ff Mon Sep 17 00:00:00 2001 From: Trent Blackburn Date: Mon, 11 May 2026 22:53:52 -0400 Subject: [PATCH] style: add ValidateNotNullOrEmpty to ManifestHelpers mandatory string params Completes the cross-repo validator alignment with PowerShellModuleTemplate#23. PR #7 (2026-05-10) added the validator to `Split-SemVerString -VersionString`; this commit covers the remaining six mandatory `[string]` parameters across `Compare-SemVerPrerelease`, `Test-VersionComparison`, and `Test-VersionConstraint`. Behavior for valid inputs is unchanged. Misuse (null or empty version/prerelease strings) now fails at parameter binding instead of producing downstream NullReferenceExceptions inside the comparison logic. --- tests/ManifestHelpers.psm1 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/ManifestHelpers.psm1 b/tests/ManifestHelpers.psm1 index 7f93868..f3ffed1 100644 --- a/tests/ManifestHelpers.psm1 +++ b/tests/ManifestHelpers.psm1 @@ -89,9 +89,11 @@ function Compare-SemVerPrerelease { [OutputType([int])] param( [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] [string]$FirstPrerelease, [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] [string]$SecondPrerelease ) @@ -205,6 +207,7 @@ function Test-VersionComparison { [OutputType([bool])] param( [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] [string]$FirstVersion, [Parameter(Mandatory = $false)] @@ -212,6 +215,7 @@ function Test-VersionComparison { [string]$FirstPrerelease, [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] [string]$SecondVersion, [Parameter(Mandatory = $false)] @@ -322,9 +326,11 @@ function Test-VersionConstraint { [OutputType([bool])] param( [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] [string]$ManifestVersion, [Parameter(Mandatory = $true)] + [ValidateNotNullOrEmpty()] [string]$RequirementsVersion, [Parameter(Mandatory = $true)]