Fix bug where expect(nil).toAlways(equal(0)) would erroneously pass #1121
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #1120
expect(nil).toAlways(equal(0))
would erroneously pass. Interestingly,expect(1).toAlways(equal(0))
would correctly fail. Given what changed here, I would have expectedexpect(1).toAlways(equal(0))
to erroneously pass as well. Yet that matcher correctly fails without this PR. 🤷🏻♀️I don't quite know why nil is special here, I think it's related to an inversion in the ExpectationStyle as passed to
execute
andpoll
fortoAlways
andtoNever
. But I'm not 100% certain.So, this fixes that refactor, and also adds logic to catch that the continuous polling matchers (toAlways/toNever) should immediately fail if the matcher doesn't match. Just to be certain there.
Minor version bump on release.