@@ -19,9 +19,11 @@ import {
19
19
SNAPSHOT_GUIDE_LINK ,
20
20
SNAPSHOT_VERSION ,
21
21
SNAPSHOT_VERSION_WARNING ,
22
+ addExtraLineBreaks ,
22
23
deepMerge ,
23
24
getSnapshotData ,
24
25
keyToTestName ,
26
+ removeExtraLineBreaks ,
25
27
saveSnapshotFile ,
26
28
serialize ,
27
29
testNameToKey ,
@@ -192,6 +194,78 @@ test('serialize handles \\r\\n', () => {
192
194
expect ( serializedData ) . toBe ( '\n"<div>\n</div>"\n' ) ;
193
195
} ) ;
194
196
197
+ describe ( 'ExtraLineBreaks' , ( ) => {
198
+ test ( '0 empty string' , ( ) => {
199
+ const expected = '' ;
200
+
201
+ const added = addExtraLineBreaks ( expected ) ;
202
+ const removed = removeExtraLineBreaks ( added ) ;
203
+
204
+ expect ( added ) . toBe ( expected ) ;
205
+ expect ( removed ) . toBe ( expected ) ;
206
+ } ) ;
207
+
208
+ test ( '1 line has double quote marks at edges' , ( ) => {
209
+ const expected = '" one line "' ;
210
+
211
+ const added = addExtraLineBreaks ( expected ) ;
212
+ const removed = removeExtraLineBreaks ( added ) ;
213
+
214
+ expect ( added ) . toBe ( expected ) ;
215
+ expect ( removed ) . toBe ( expected ) ;
216
+ } ) ;
217
+
218
+ test ( '1 line has spaces at edges' , ( ) => {
219
+ const expected = ' one line ' ;
220
+
221
+ const added = addExtraLineBreaks ( expected ) ;
222
+ const removed = removeExtraLineBreaks ( added ) ;
223
+
224
+ expect ( added ) . toBe ( expected ) ;
225
+ expect ( removed ) . toBe ( expected ) ;
226
+ } ) ;
227
+
228
+ test ( '2 lines both are blank' , ( ) => {
229
+ const expected = '\n' ;
230
+
231
+ const added = addExtraLineBreaks ( expected ) ;
232
+ const removed = removeExtraLineBreaks ( added ) ;
233
+
234
+ expect ( added ) . toBe ( '\n' + expected + '\n' ) ;
235
+ expect ( removed ) . toBe ( expected ) ;
236
+ } ) ;
237
+
238
+ test ( '2 lines have double quote marks at edges' , ( ) => {
239
+ const expected = '"\n"' ;
240
+
241
+ const added = addExtraLineBreaks ( expected ) ;
242
+ const removed = removeExtraLineBreaks ( added ) ;
243
+
244
+ expect ( added ) . toBe ( '\n' + expected + '\n' ) ;
245
+ expect ( removed ) . toBe ( expected ) ;
246
+ } ) ;
247
+
248
+ test ( '2 lines first is blank' , ( ) => {
249
+ const expected = '\nsecond line ' ;
250
+
251
+ const added = addExtraLineBreaks ( expected ) ;
252
+ const removed = removeExtraLineBreaks ( added ) ;
253
+
254
+ expect ( added ) . toBe ( '\n' + expected + '\n' ) ;
255
+ expect ( removed ) . toBe ( expected ) ;
256
+ } ) ;
257
+
258
+ test ( '2 lines last is blank' , ( ) => {
259
+ const expected = ' first line\n' ;
260
+
261
+ const added = addExtraLineBreaks ( expected ) ;
262
+ const removed = removeExtraLineBreaks ( added ) ;
263
+
264
+ expect ( added ) . toBe ( '\n' + expected + '\n' ) ;
265
+ expect ( removed ) . toBe ( expected ) ;
266
+ } ) ;
267
+ } ) ;
268
+
195
269
describe ( 'DeepMerge with property matchers' , ( ) => {
196
270
const matcher = expect . any ( String ) ;
197
271
0 commit comments