mirror of
https://github.com/aphrody-labs/PowerShell.git
synced 2026-10-17 20:56:02 +00:00
Based on standard practices, we need to have a copyright and license notice at the top of each source file. Removed existing copyrights and updated/added copyright notices for .h, .cpp, .cs, .ps1, and .psm1 files. Updated module manifests for consistency to have Author = "PowerShell" and Company = "Microsoft Corporation". Removed multiple line breaks. Separate PR coming to update contribution document for new source files: #6140 Manually reviewed each change. Fix #6073
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
|
|
}
|
|
}
|
|
}
|