mirror of
https://github.com/Raphire/Win11Debloat.git
synced 2026-08-21 23:26:42 +00:00
32 lines
1.3 KiB
PowerShell
32 lines
1.3 KiB
PowerShell
BeforeAll {
|
|
$userProfileScriptPath = Join-Path $PSScriptRoot '..\Scripts\Helpers\Resolve-UserProfilePath.ps1'
|
|
. $userProfileScriptPath
|
|
}
|
|
|
|
Describe 'Normalize-UserLookupValue' {
|
|
It 'removes zero-width characters and collapses whitespace' {
|
|
Normalize-UserLookupValue -Value " domain\u$([char]0x200B)ser name " | Should -Be 'domain\user name'
|
|
}
|
|
|
|
It 'uses normalized, case-insensitive cache keys' {
|
|
Get-UserLookupCacheKey -Value ' DOMAIN\Alice ' | Should -Be 'domain\alice'
|
|
Get-UserLookupCacheKey -Value ' ' | Should -Be ''
|
|
}
|
|
|
|
It 'normalizes, filters, and de-duplicates lookup candidates' {
|
|
$result = Get-NormalizedLookupCandidates -Candidates @(' Alice ', '', 'alice', "Bob$([char]0x200B)")
|
|
|
|
$result | Should -HaveCount 3
|
|
$result[0] | Should -Be 'Alice'
|
|
$result[1] | Should -Be 'alice'
|
|
$result[2] | Should -Be 'Bob'
|
|
}
|
|
|
|
It 'escapes WQL literals and extracts local user-name segments' {
|
|
Escape-WqlString -Value "O'Brian" | Should -Be "O''Brian"
|
|
Get-LocalUserNameSegment -UserName 'CONTOSO\Alice' | Should -Be 'Alice'
|
|
Get-LocalUserNameSegment -UserName 'alice@contoso.com' | Should -Be 'alice'
|
|
Get-LocalUserNameSegment -UserName ' Alice ' | Should -Be 'Alice'
|
|
}
|
|
}
|