mirror of
https://github.com/aphrody-labs/PowerShell.git
synced 2026-10-17 20:56:02 +00:00
38 lines
1.3 KiB
PowerShell
38 lines
1.3 KiB
PowerShell
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
# Licensed under the MIT License.
|
|
Describe 'ConvertFrom-Json' -tags "CI" {
|
|
|
|
BeforeAll {
|
|
$testCasesWithAndWithoutAsHashtableSwitch = @(
|
|
@{ AsHashtable = $true }
|
|
@{ AsHashtable = $false }
|
|
)
|
|
}
|
|
|
|
It 'Can convert a single-line object with AsHashtable switch set to <AsHashtable>' -TestCase $testCasesWithAndWithoutAsHashtableSwitch {
|
|
Param($AsHashtable)
|
|
('{"a" : "1"}' | ConvertFrom-Json -AsHashtable:$AsHashtable).a | Should -Be 1
|
|
}
|
|
|
|
It 'Can convert one string-per-object with AsHashtable switch set to <AsHashtable>' -TestCase $testCasesWithAndWithoutAsHashtableSwitch {
|
|
Param($AsHashtable)
|
|
$json = @('{"a" : "1"}', '{"a" : "x"}') | ConvertFrom-Json -AsHashtable:$AsHashtable
|
|
$json.Count | Should -Be 2
|
|
$json[1].a | Should -Be 'x'
|
|
if ($AsHashtable)
|
|
{
|
|
$json | Should -BeOfType Hashtable
|
|
}
|
|
}
|
|
|
|
It 'Can convert multi-line object with AsHashtable switch set to <AsHashtable>' -TestCase $testCasesWithAndWithoutAsHashtableSwitch {
|
|
Param($AsHashtable)
|
|
$json = @('{"a" :', '"x"}') | ConvertFrom-Json -AsHashtable:$AsHashtable
|
|
$json.a | Should -Be 'x'
|
|
if ($AsHashtable)
|
|
{
|
|
$json | Should -BeOfType Hashtable
|
|
}
|
|
}
|
|
}
|