Skip to content

Commit 9576d76

Browse files
authored
Remove Array addition in functions (#173)
1 parent ee4d708 commit 9576d76

6 files changed

Lines changed: 20 additions & 21 deletions

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5353
- Remove single use variable.
5454
- `ResourceSchema.common.v5.Tests`
5555
- Suppress 'PSUseDeclaredVarsMoreThanAssignments' ScriptAnalyzer rule.
56+
- Remove array addition in following Public/Private functions.
57+
- `Get-ClassResourceNameFromFile`
58+
- `Get-ModuleScriptResourceName`
59+
- `Get-SuppressedPSSARuleNameList`
60+
- `Invoke-DscResourceTest`
61+
- `Invoke_HQRM_Tests.build`
5662

5763
## [0.17.2] - 2025-02-28
5864

source/Private/Get-ClassResourceNameFromFile.ps1

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@ function Get-ClassResourceNameFromFile
2828
$fileAst = [System.Management.Automation.Language.Parser]::ParseFile($FilePath, [ref]$null, [ref]$null)
2929

3030
$typeDefinitionAsts = $fileAst.FindAll( { $args[0] -is [System.Management.Automation.Language.TypeDefinitionAst] }, $false)
31-
foreach ($typeDefinitionAst in $typeDefinitionAsts)
31+
32+
$classResourceNames = foreach ($typeDefinitionAst in $typeDefinitionAsts)
3233
{
3334
if ($typeDefinitionAst.Attributes.TypeName.Name -ieq 'DscResource')
3435
{
35-
$classResourceNames += $typeDefinitionAst.Name
36+
$typeDefinitionAst.Name
3637
}
3738
}
3839
}

source/Private/Get-ModuleScriptResourceName.ps1

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,12 @@ function Get-ModuleScriptResourceName
1717
$ModulePath
1818
)
1919

20-
$scriptResourceNames = @()
21-
2220
$dscResourcesFolderFilePath = Join-Path -Path $ModulePath -ChildPath 'DscResources'
2321
$mofSchemaFiles = Get-ChildItem -Path $dscResourcesFolderFilePath -Filter '*.schema.mof' -Recurse
2422

25-
foreach ($mofSchemaFile in $mofSchemaFiles)
23+
$scriptResourceNames = foreach ($mofSchemaFile in $mofSchemaFiles)
2624
{
27-
$scriptResourceName = $mofSchemaFile.BaseName -replace '.schema', ''
28-
$scriptResourceNames += $scriptResourceName
25+
($mofSchemaFile.BaseName -replace '\.schema', '')
2926
}
3027

3128
return $scriptResourceNames

source/Private/Get-SuppressedPSSARuleNameList.ps1

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@ function Get-SuppressedPSSARuleNameList
2323
$fileAst = [System.Management.Automation.Language.Parser]::ParseFile($FilePath, [ref]$null, [ref]$null)
2424

2525
# Overall file attributes
26-
$attributeAsts = $fileAst.FindAll( {$args[0] -is [System.Management.Automation.Language.AttributeAst]}, $true)
26+
$attributeAsts = $fileAst.FindAll({ $args[0] -is [System.Management.Automation.Language.AttributeAst] }, $true)
2727

28-
foreach ($attributeAst in $attributeAsts)
28+
$suppressedPSSARuleNames = foreach ($attributeAst in $attributeAsts)
2929
{
3030
if ([System.Diagnostics.CodeAnalysis.SuppressMessageAttribute].FullName.ToLower().Contains($attributeAst.TypeName.FullName.ToLower()))
3131
{
32-
$suppressedPSSARuleNames += $attributeAst.PositionalArguments.Extent.Text
32+
$attributeAst.PositionalArguments.Extent.Text
3333
}
3434
}
3535

source/Public/Invoke-DscResourceTest.ps1

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -370,19 +370,16 @@ function Invoke-DscResourceTest
370370
}
371371
}
372372

373-
$newTag = @()
374-
$newExcludeTag = @()
375-
376373
# foreach OptIns, add them to `-Tag`, unless in the ExcludeTags or already in Tag
377-
foreach ($optInTag in $optIns)
374+
$newTag = foreach ($optInTag in $optIns)
378375
{
379376
if (
380377
$optInTag -notin $PSBoundParameters['ExcludeTagFilter'] `
381378
-and $optInTag -notin $PSBoundParameters['TagFilter']
382379
)
383380
{
384381
Write-Debug -Message "Adding tag $optInTag."
385-
$newTag += $optInTag
382+
$optInTag
386383
}
387384
}
388385

@@ -392,7 +389,7 @@ function Invoke-DscResourceTest
392389
}
393390

394391
# foreach OptOuts, add them to `-ExcludeTag`, unless in `-Tag`
395-
foreach ($optOutTag in $optOuts)
392+
$newExcludeTag = foreach ($optOutTag in $optOuts)
396393
{
397394
if (
398395
$optOutTag -notin $PSBoundParameters['TagFilter'] `
@@ -401,7 +398,7 @@ function Invoke-DscResourceTest
401398
{
402399
Write-Debug -Message "Adding ExcludeTag $optOutTag."
403400

404-
$newExcludeTag += $optOutTag
401+
$optOutTag
405402
}
406403
}
407404

source/tasks/Invoke_HQRM_Tests.build.ps1

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -422,11 +422,9 @@ task Invoke_HQRM_Tests {
422422

423423
$hqrmTestScripts = Get-ChildItem -Path $pathToHqrmTests
424424

425-
$pesterContainers = @()
426-
427-
foreach ($testScript in $hqrmTestScripts)
425+
$pesterContainers = foreach ($testScript in $hqrmTestScripts)
428426
{
429-
$pesterContainers += New-PesterContainer -Path $testScript.FullName -Data $pesterData.Clone()
427+
New-PesterContainer -Path $testScript.FullName -Data $pesterData.Clone()
430428
}
431429

432430
if ($BuildInfo.DscTest.Pester.Configuration -and $pesterConfiguration)

0 commit comments

Comments
 (0)