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
There's been some recent changes on how insta handles newlines. IIUC, we now just trim them from the start and end of every snapshot; this avoids showing incorrect diffs and inline snapshots failing to discriminate between newlines in the code and newlines in the snapshot.
I think there's an approach that would handle this well, but not confident and wanted to socialize it in case I'm missing something:
If an inline snapshot is sufficiently short1, it can go on one line; i.e.
assert_snapshot!("foo", @"foo");
If an inline snapshot isn't sufficiently short, a newline gets added at the start and end which aren't part of the snapshot value; i.e.:
assert_snapshot!(foo, @r#" multiple lines#");
...has a snapshot value of two lines; excluding the first and last newlines within the string
Then, if there are newlines in the snapshot value, these can then be recognized because we know we've added exactly one newline at the start and at the end. Here's an example if the snapshot value had a leading newline:
assert_snapshot!(foo, @r#" multiple lines#");
This way, I don't think there can be any ambiguity.
Footnotes
this generally means "is only one line", though very long single lines could start on the next line and become multiline ↩
The text was updated successfully, but these errors were encountered:
One issue I didn't consider above is that some autoformatters & editors attempt to ensure there's exactly one new line at the end of non-empty files (for example end-of-file-fixer). Some options:
Users should exclude .snap files from that check themselves
Finish with a YAML-like ---
Finish with some special character that isn't normally used, such as ␙
One option would also just be to make the start/end marker be a problem of the formatter and say that if this is relevant, we encourage/provide support to format blessed markers into the snapshot.
There's been some recent changes on how insta handles newlines. IIUC, we now just trim them from the start and end of every snapshot; this avoids showing incorrect diffs and inline snapshots failing to discriminate between newlines in the code and newlines in the snapshot.
I think there's an approach that would handle this well, but not confident and wanted to socialize it in case I'm missing something:
This way, I don't think there can be any ambiguity.
Footnotes
this generally means "is only one line", though very long single lines could start on the next line and become multiline ↩
The text was updated successfully, but these errors were encountered: