54 lines
1.7 KiB
PowerShell
54 lines
1.7 KiB
PowerShell
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
# Licensed under the MIT License.
|
|
|
|
Describe "Hidden properties should not be returned by the 'FirstOrDefault' primitive" -Tag CI {
|
|
|
|
It "Formatting for an object with no property/field should use 'ToString'" {
|
|
class Empty {
|
|
[String]ToString() { return 'MyString' }
|
|
}
|
|
|
|
$outstring = [Empty]::new() | Out-String
|
|
$outstring.Trim() | Should -BeExactly "MyString"
|
|
|
|
class Empty2 { }
|
|
|
|
$outstring = [Empty2]::new() | Out-String
|
|
$outstring.Trim() | Should -BeLike "*.Empty2"
|
|
}
|
|
|
|
It "Formatting for an object with only hidden property should use 'ToString'" {
|
|
class Hidden {
|
|
hidden $Param = 'Foo'
|
|
[String]ToString() { return 'MyString' }
|
|
}
|
|
|
|
$outstring = [Hidden]::new() | Out-String
|
|
$outstring.Trim() | Should -BeExactly "MyString"
|
|
|
|
class Hidden2 {
|
|
hidden $Param = 'Foo'
|
|
}
|
|
|
|
$outstring = [Hidden2]::new() | Out-String
|
|
$outstring.Trim() | Should -BeLike "*.Hidden2"
|
|
}
|
|
|
|
It 'Formatting for an object with no-hidden property should use the default view' {
|
|
class Params {
|
|
$Param = 'Foo'
|
|
[String]ToString() { return 'MyString' }
|
|
}
|
|
|
|
$outstring = [Params]::new() | Out-String
|
|
$outstring.Trim() | Should -BeExactly "Param$([System.Environment]::NewLine)-----$([System.Environment]::NewLine)Foo"
|
|
|
|
class Params2 {
|
|
$Param = 'Foo'
|
|
}
|
|
|
|
$outstring = [Params2]::new() | Out-String
|
|
$outstring.Trim() | Should -BeExactly "Param$([System.Environment]::NewLine)-----$([System.Environment]::NewLine)Foo"
|
|
}
|
|
}
|