feat(String): add Sting Helper functions
This commit is contained in:
parent
52369d540d
commit
b475e21f03
2 changed files with 63 additions and 0 deletions
21
PSConfluencePublisher/String.Tests.ps1
Executable file
21
PSConfluencePublisher/String.Tests.ps1
Executable file
|
|
@ -0,0 +1,21 @@
|
|||
#!/usr/bin/env pwsh
|
||||
$ErrorActionPreference = "Stop"
|
||||
|
||||
BeforeAll {
|
||||
Import-Module (Join-Path $PSScriptRoot 'PSConfluencePublisher.psd1') -Force
|
||||
}
|
||||
|
||||
Describe 'Get-StringHash' `
|
||||
{
|
||||
Context 'default' `
|
||||
{
|
||||
It 'works' `
|
||||
{
|
||||
$result = Get-StringHash 'foobar'
|
||||
|
||||
$result.Hash | Should -Be (
|
||||
'C3AB8FF13720E8AD9047DD3946' + `
|
||||
'6B3C8974E592C2FA383D4A3960714CAEF0C4F2')
|
||||
}
|
||||
}
|
||||
}
|
||||
42
PSConfluencePublisher/String.psm1
Executable file
42
PSConfluencePublisher/String.psm1
Executable file
|
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/env pwsh
|
||||
|
||||
function Get-StringHash
|
||||
{
|
||||
<#
|
||||
.SYNOPSIS
|
||||
Get hash value of a string
|
||||
|
||||
.DESCRIPTION
|
||||
The Get-StringHash function is just a wrapper around the
|
||||
Get-FileHash function and utilizes a stream for providing said
|
||||
function with proper input values.
|
||||
|
||||
.OUTPUTS
|
||||
Same as the Get-FileHash function
|
||||
|
||||
.EXAMPLE
|
||||
Get-StringHash 'foobar' -Algorithm 'SHA256'
|
||||
#>
|
||||
Param(
|
||||
[Parameter(Mandatory, Position = 0)] [String] $InputString,
|
||||
[Parameter()] [String] $Algorithm = 'SHA256'
|
||||
)
|
||||
|
||||
Begin
|
||||
{
|
||||
$stream = [IO.MemoryStream]::New()
|
||||
|
||||
$writer = [IO.StreamWriter]::New($stream)
|
||||
|
||||
$writer.Write($InputString)
|
||||
|
||||
$writer.Flush()
|
||||
|
||||
$stream.Position = 0
|
||||
}
|
||||
|
||||
Process
|
||||
{
|
||||
Get-FileHash -InputStream $stream -Algorithm $Algorithm
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue