Escape strings printed by std.assertEqual
#1139
Merged
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 #363.
When
std.assertEqual
fails, the error message it produces includes the values that were passed in. This PR usesstd.escapeStringJson
to escape strings passed tostd.assertEqual
. Other values are concatenated as normal (relying on the string concatenation to stringize them as before).An alternative is to call
std.manifestJson
on both arguments regardless of type. However it's not clear to me thatstd.manifestJson
will produce the same output as the (internal)toString
performed by string concatenation.PR adds test cases for std.assertEqual with two unequal strings and with two unequal objects.