Private/Test-PlumberFunctionHelp.ps1
|
function Test-PlumberFunctionHelp { <# .SYNOPSIS Tests function help metadata for required sections. .DESCRIPTION Validates parsed function help metadata and returns messages for any missing required help sections. .PARAMETER Help The parsed help metadata to validate. .PARAMETER RequireFullHelp Require description, parameters and examples in addition to synopsis. .EXAMPLE Test-PlumberFunctionHelp -Help $help -RequireFullHelp Returns missing help section messages for a public function. #> [CmdletBinding()] [OutputType([string])] param ( [Parameter(Mandatory)] [pscustomobject] $Help, [switch] $RequireFullHelp ) # PowerShell's GetHelpContent() falls back to the function name when no # .SYNOPSIS is present, so a synopsis equal to the name means the author # never wrote one. Treat that as missing. if ( -not $Help.Synopsis -or $Help.Synopsis -eq $Help.Name ) { "$($Help.Name): Missing help synopsis" } if (-not $RequireFullHelp) { return } if (-not $Help.Description) { "$($Help.Name): Missing help description" } if ($Help.HasParameter -and -not $Help.Parameters) { "$($Help.Name): Missing help parameter documentation" } if (-not $Help.Examples) { "$($Help.Name): Missing help example" } } |