@@ -372,12 +372,18 @@ public void ParseElement_CanHandleWhitespaceAroundInlineElemements()
372
372
AssertTestParagraph ( paragraphElement ) ;
373
373
}
374
374
375
- [ Test ]
376
- public void ParseElement_RemovesNewLinesAroundHtmlElements ( )
375
+ [ TestCase ( 1 , "\n " ) ]
376
+ [ TestCase ( 2 , "\n " ) ]
377
+ [ TestCase ( 1 , "\r " ) ]
378
+ [ TestCase ( 2 , "\r " ) ]
379
+ [ TestCase ( 1 , "\r \n " ) ]
380
+ [ TestCase ( 2 , "\r \n " ) ]
381
+ public void ParseElement_RemovesNewLinesAroundHtmlStructuralElements ( int numberOfNewLineCharacters , string newlineCharacter )
377
382
{
378
383
var parser = CreateRichTextElementParser ( ) ;
379
384
380
- var element = parser . Parse ( $ "<table>\n <tr>\n <td>{ TestParagraph } </td>\n </tr>\n </table>") as RichTextRootElement ;
385
+ var newLineSeparator = string . Concat ( Enumerable . Repeat ( newlineCharacter , numberOfNewLineCharacters ) ) ;
386
+ var element = parser . Parse ( $ "<table>{ newLineSeparator } <tr>{ newLineSeparator } <td>{ TestParagraph } </td>{ newLineSeparator } </tr>{ newLineSeparator } </table>") as RichTextRootElement ;
381
387
Assert . IsNotNull ( element ) ;
382
388
var tableElement = element . Elements . Single ( ) as RichTextGenericElement ;
383
389
Assert . IsNotNull ( tableElement ) ;
@@ -391,6 +397,29 @@ public void ParseElement_RemovesNewLinesAroundHtmlElements()
391
397
AssertTestParagraph ( cellElement ) ;
392
398
}
393
399
400
+ [ TestCase ( 1 , "\n " ) ]
401
+ [ TestCase ( 2 , "\n " ) ]
402
+ [ TestCase ( 1 , "\r " ) ]
403
+ [ TestCase ( 2 , "\r " ) ]
404
+ [ TestCase ( 1 , "\r \n " ) ]
405
+ [ TestCase ( 2 , "\r \n " ) ]
406
+ public void ParseElement_RemovesNewLinesAroundHtmlContentElements ( int numberOfNewLineCharacters , string newlineCharacter )
407
+ {
408
+ var parser = CreateRichTextElementParser ( ) ;
409
+
410
+ var newLineSeparator = string . Concat ( Enumerable . Repeat ( newlineCharacter , numberOfNewLineCharacters ) ) ;
411
+ var element = parser . Parse ( $ "<div><p>{ TestParagraph } </p>{ newLineSeparator } <p></p>{ newLineSeparator } <p> </p>{ newLineSeparator } <p>{ TestParagraph } </p></div>") as RichTextRootElement ;
412
+ Assert . IsNotNull ( element ) ;
413
+ var divElement = element . Elements . Single ( ) as RichTextGenericElement ;
414
+ Assert . IsNotNull ( divElement ) ;
415
+
416
+ var paragraphELements = divElement . Elements ;
417
+ Assert . AreEqual ( 4 , paragraphELements . Count ( ) ) ;
418
+
419
+ AssertTestParagraph ( paragraphELements . First ( ) as RichTextGenericElement ) ;
420
+ AssertTestParagraph ( paragraphELements . Last ( ) as RichTextGenericElement ) ;
421
+ }
422
+
394
423
private static void AssertTestParagraph ( RichTextGenericElement paragraphElement )
395
424
{
396
425
var childElements = paragraphElement . Elements . ToArray ( ) ;
0 commit comments