From 447085b81ff46fe17ecfd88766834ecfa0d10231 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Mon, 10 Apr 2023 10:49:09 +0200 Subject: [PATCH] fix(snapshot): normalize EOL for `toMatchFileSnapshot` --- packages/snapshot/src/port/state.ts | 7 +++++++ packages/snapshot/src/port/utils.ts | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/snapshot/src/port/state.ts b/packages/snapshot/src/port/state.ts index a872c64bc105..f766f0e52642 100644 --- a/packages/snapshot/src/port/state.ts +++ b/packages/snapshot/src/port/state.ts @@ -18,6 +18,7 @@ import { addExtraLineBreaks, getSnapshotData, keyToTestName, + normalizeNewlines, prepareExpected, removeExtraLineBreaks, saveSnapshotFile, @@ -244,6 +245,12 @@ export default class SnapshotState { if (!rawSnapshot) receivedSerialized = addExtraLineBreaks(receivedSerialized) + if (rawSnapshot) { + // normalize EOL when snapshot contains CRLF but received is LF + if (rawSnapshot.content && rawSnapshot.content.match(/\r\n/) && !receivedSerialized.match(/\r\n/)) + rawSnapshot.content = normalizeNewlines(rawSnapshot.content) + } + const expected = isInline ? inlineSnapshot : rawSnapshot diff --git a/packages/snapshot/src/port/utils.ts b/packages/snapshot/src/port/utils.ts index 0fbab89ae7ce..98a0d76ca057 100644 --- a/packages/snapshot/src/port/utils.ts +++ b/packages/snapshot/src/port/utils.ts @@ -135,7 +135,7 @@ export async function ensureDirectoryExists(environment: SnapshotEnvironment, fi catch { } } -function normalizeNewlines(string: string) { +export function normalizeNewlines(string: string) { return string.replace(/\r\n|\r/g, '\n') }