@@ -19,9 +19,11 @@ import {
1919 SNAPSHOT_GUIDE_LINK ,
2020 SNAPSHOT_VERSION ,
2121 SNAPSHOT_VERSION_WARNING ,
22+ addExtraLineBreaks ,
2223 deepMerge ,
2324 getSnapshotData ,
2425 keyToTestName ,
26+ removeExtraLineBreaks ,
2527 saveSnapshotFile ,
2628 serialize ,
2729 testNameToKey ,
@@ -192,6 +194,78 @@ test('serialize handles \\r\\n', () => {
192194 expect ( serializedData ) . toBe ( '\n"<div>\n</div>"\n' ) ;
193195} ) ;
194196
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+
195269describe ( 'DeepMerge with property matchers' , ( ) => {
196270 const matcher = expect . any ( String ) ;
197271
0 commit comments