You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We understand you have a problem and are in a hurry, but please provide us with some info to make it much more likely for your issue to be understood, worked on and resolved quickly.
This makes the check in assert.exception weaker - it succeeds if the strings in the matcher strings are just the substrings of the corresponding properties.
I would expect this behaviour to be either changed or explicitly documented.
The text was updated successfully, but these errors were encountered:
I agree with this and I ran into the same issue myself. My preference would be to change the current behaviour and release a major. If someone wants the current behaviour, they can wrap the expectation like match({ ... }), so it's quite easy to migrate.
Would you be able to send a pull request for this?
How to reproduce
What did you expect to happen?
Test fails
What actually happens
Test succeeds
Reason
When samsam library detects there's no match, referee tries to verify that by iterating property-by-property and comparing again: https://github.com/sinonjs/referee/blob/main/lib/assertions/exception.js#L52
The problem is, comparing objects is different from comparing strings in samsam.
When iterating property-by-property, we don't check for string equality, rather that one string is a substring of anoter: https://github.com/sinonjs/samsam/blob/main/lib/match.js#L71-L74
This makes the check in
assert.exception
weaker - it succeeds if the strings in the matcher strings are just the substrings of the corresponding properties.I would expect this behaviour to be either changed or explicitly documented.
The text was updated successfully, but these errors were encountered: