@@ -2006,10 +2006,33 @@ public void WordWrap_preserveTrailingSpaces ()
2006
2006
wrappedLines = TextFormatter . WordWrap ( text , maxWidth , true ) ;
2007
2007
Assert . True ( expectedClippedWidth >= wrappedLines . Max ( l => l . RuneCount ) ) ;
2008
2008
Assert . True ( expectedClippedWidth >= wrappedLines . Max ( l => l . ConsoleWidth ) ) ;
2009
- Assert . Equal ( "A sentence has " , wrappedLines [ 0 ] . ToString ( ) ) ;
2010
- Assert . Equal ( " words." , wrappedLines [ 1 ] . ToString ( ) ) ;
2009
+ Assert . Equal ( "A sentence " , wrappedLines [ 0 ] . ToString ( ) ) ;
2010
+ Assert . Equal ( "has words." , wrappedLines [ 1 ] . ToString ( ) ) ;
2011
2011
Assert . True ( wrappedLines . Count == 2 ) ;
2012
2012
2013
+ maxWidth = 8 ;
2014
+ expectedClippedWidth = 8 ;
2015
+ wrappedLines = TextFormatter . WordWrap ( text , maxWidth , true ) ;
2016
+ Assert . True ( expectedClippedWidth >= wrappedLines . Max ( l => l . RuneCount ) ) ;
2017
+ Assert . True ( expectedClippedWidth >= wrappedLines . Max ( l => l . ConsoleWidth ) ) ;
2018
+ Assert . Equal ( "A " , wrappedLines [ 0 ] . ToString ( ) ) ;
2019
+ Assert . Equal ( "sentence" , wrappedLines [ 1 ] . ToString ( ) ) ;
2020
+ Assert . Equal ( " has " , wrappedLines [ 2 ] . ToString ( ) ) ;
2021
+ Assert . Equal ( "words." , wrappedLines [ ^ 1 ] . ToString ( ) ) ;
2022
+ Assert . True ( wrappedLines . Count == 4 ) ;
2023
+
2024
+ maxWidth = 6 ;
2025
+ expectedClippedWidth = 6 ;
2026
+ wrappedLines = TextFormatter . WordWrap ( text , maxWidth , true ) ;
2027
+ Assert . True ( expectedClippedWidth >= wrappedLines . Max ( l => l . RuneCount ) ) ;
2028
+ Assert . True ( expectedClippedWidth >= wrappedLines . Max ( l => l . ConsoleWidth ) ) ;
2029
+ Assert . Equal ( "A " , wrappedLines [ 0 ] . ToString ( ) ) ;
2030
+ Assert . Equal ( "senten" , wrappedLines [ 1 ] . ToString ( ) ) ;
2031
+ Assert . Equal ( "ce " , wrappedLines [ 2 ] . ToString ( ) ) ;
2032
+ Assert . Equal ( "has " , wrappedLines [ 3 ] . ToString ( ) ) ;
2033
+ Assert . Equal ( "words." , wrappedLines [ ^ 1 ] . ToString ( ) ) ;
2034
+ Assert . True ( wrappedLines . Count == 5 ) ;
2035
+
2013
2036
maxWidth = 3 ;
2014
2037
expectedClippedWidth = 3 ;
2015
2038
wrappedLines = TextFormatter . WordWrap ( text , maxWidth , true ) ;
@@ -2312,6 +2335,18 @@ public void WordWrap_preserveTrailingSpaces_With_Tab ()
2312
2335
Assert . Equal ( "words." , wrappedLines [ 2 ] . ToString ( ) ) ;
2313
2336
Assert . True ( wrappedLines . Count == 3 ) ;
2314
2337
2338
+ maxWidth = 8 ;
2339
+ expectedClippedWidth = 8 ;
2340
+ wrappedLines = TextFormatter . WordWrap ( text , maxWidth , true , tabWidth ) ;
2341
+ Assert . True ( expectedClippedWidth >= wrappedLines . Max ( l => l . RuneCount ) ) ;
2342
+ Assert . Equal ( "A " , wrappedLines [ 0 ] . ToString ( ) ) ;
2343
+ Assert . Equal ( "sentence" , wrappedLines [ 1 ] . ToString ( ) ) ;
2344
+ Assert . Equal ( "\t \t " , wrappedLines [ 2 ] . ToString ( ) ) ;
2345
+ Assert . Equal ( "\t " , wrappedLines [ 3 ] . ToString ( ) ) ;
2346
+ Assert . Equal ( "has " , wrappedLines [ 4 ] . ToString ( ) ) ;
2347
+ Assert . Equal ( "words." , wrappedLines [ ^ 1 ] . ToString ( ) ) ;
2348
+ Assert . True ( wrappedLines . Count == 6 ) ;
2349
+
2315
2350
maxWidth = 3 ;
2316
2351
expectedClippedWidth = 3 ;
2317
2352
wrappedLines = TextFormatter . WordWrap ( text , maxWidth , true , tabWidth ) ;
@@ -2873,8 +2908,8 @@ public void Format_WordWrap_preserveTrailingSpaces ()
2873
2908
Assert . Equal ( " A " , list2 [ 0 ] . ToString ( ) ) ;
2874
2909
Assert . Equal ( "sent" , list2 [ 1 ] . ToString ( ) ) ;
2875
2910
Assert . Equal ( "ence" , list2 [ 2 ] . ToString ( ) ) ;
2876
- Assert . Equal ( " has " , list2 [ 3 ] . ToString ( ) ) ;
2877
- Assert . Equal ( " " , list2 [ 4 ] . ToString ( ) ) ;
2911
+ Assert . Equal ( " " , list2 [ 3 ] . ToString ( ) ) ;
2912
+ Assert . Equal ( "has " , list2 [ 4 ] . ToString ( ) ) ;
2878
2913
Assert . Equal ( "word" , list2 [ 5 ] . ToString ( ) ) ;
2879
2914
Assert . Equal ( "s. " , list2 [ 6 ] . ToString ( ) ) ;
2880
2915
Assert . Equal ( " " , list2 [ 7 ] . ToString ( ) ) ;
@@ -3959,5 +3994,23 @@ public void AutoSize_False_View_Width_Zero_Returns_Minimum_Width_With_Wide_Rune
3959
3994
pos = GraphViewTests . AssertDriverContentsWithFrameAre ( expected , output ) ;
3960
3995
Assert . Equal ( new Rect ( 0 , 0 , 4 , 10 ) , pos ) ;
3961
3996
}
3997
+
3998
+ [ Fact ]
3999
+ public void Format_With_PreserveTrailingSpaces_And_Without_PreserveTrailingSpaces ( )
4000
+ {
4001
+ var text = $ "Line1{ Environment . NewLine } Line2{ Environment . NewLine } Line3{ Environment . NewLine } ";
4002
+ var width = 60 ;
4003
+ var preserveTrailingSpaces = false ;
4004
+ var formated = TextFormatter . Format ( text , width , false , true , preserveTrailingSpaces ) ;
4005
+ Assert . Equal ( "Line1" , formated [ 0 ] ) ;
4006
+ Assert . Equal ( "Line2" , formated [ 1 ] ) ;
4007
+ Assert . Equal ( "Line3" , formated [ ^ 1 ] ) ;
4008
+
4009
+ preserveTrailingSpaces = true ;
4010
+ formated = TextFormatter . Format ( text , width , false , true , preserveTrailingSpaces ) ;
4011
+ Assert . Equal ( "Line1" , formated [ 0 ] ) ;
4012
+ Assert . Equal ( "Line2" , formated [ 1 ] ) ;
4013
+ Assert . Equal ( "Line3" , formated [ ^ 1 ] ) ;
4014
+ }
3962
4015
}
3963
4016
}
0 commit comments