Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Within keyword fails to compare wrapped types and null #237

Closed
BernieWhite opened this issue Jul 4, 2019 · 0 comments · Fixed by #236
Closed

Within keyword fails to compare wrapped types and null #237

BernieWhite opened this issue Jul 4, 2019 · 0 comments · Fixed by #236
Assignees
Labels
bug Something isn't working
Milestone

Comments

@BernieWhite
Copy link
Member

Description of the issue

When using the Within keyword, comparison of wrapped non-string types incorrectly returns Fail instead of Pass.

In addition comparison against null also fails.

To Reproduce

Steps to reproduce the issue:

Rule 'WithinTypes' {
    Within 'BooleanValue' $True
    Within 'IntValue' 0, 1, 2, 3
    Within 'NullValue' $Null
}
$testObject = @(
    [PSCustomObject]@{ BooleanValue = $True; IntValue = 1; NullValue = $Null; }
    [PSCustomObject]@{ BooleanValue = $False; IntValue = 100; NullValue = $Null; }
    ([PSCustomObject]@{ BooleanValue = $True; IntValue = 1; NullValue = $Null; } | ConvertTo-Json | ConvertFrom-Json)
    [PSCustomObject]@{ BooleanValue = $Null; IntValue = $Null; NullValue = 'NotNull'; }
)

$testObject | Invoke-PSRule -Name 'WithinTypes' -Outcome All;

Expected behaviour

Within should correctly compare non-string types.

Module in use and version:

  • Module: PSRule
  • Version: 0.7.0

Captured output from $PSVersionTable:

Name                           Value
----                           -----
PSVersion                      6.2.1
PSEdition                      Core
GitCommitId                    6.2.1
OS                             Microsoft Windows 10.0.18362
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Additional context

Additional cases related to #226.

@BernieWhite BernieWhite added the bug Something isn't working label Jul 4, 2019
@BernieWhite BernieWhite added this to the v0.8.0 milestone Jul 4, 2019
@BernieWhite BernieWhite self-assigned this Jul 4, 2019
BernieWhite added a commit that referenced this issue Jul 4, 2019
BernieWhite added a commit that referenced this issue Jul 4, 2019
- Add debug messages and verbose limiting #146 #235
- Fix test to handle DebugPreference for Window PS
- Fix within comparison issue #237
@BernieWhite BernieWhite mentioned this issue Aug 3, 2019
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant