|
@@ -2006,10 +2006,33 @@ namespace Terminal.Gui.Core {
|
|
|
wrappedLines = TextFormatter.WordWrap (text, maxWidth, true);
|
|
|
Assert.True (expectedClippedWidth >= wrappedLines.Max (l => l.RuneCount));
|
|
|
Assert.True (expectedClippedWidth >= wrappedLines.Max (l => l.ConsoleWidth));
|
|
|
- Assert.Equal ("A sentence has", wrappedLines [0].ToString ());
|
|
|
- Assert.Equal (" words.", wrappedLines [1].ToString ());
|
|
|
+ Assert.Equal ("A sentence ", wrappedLines [0].ToString ());
|
|
|
+ Assert.Equal ("has words.", wrappedLines [1].ToString ());
|
|
|
Assert.True (wrappedLines.Count == 2);
|
|
|
|
|
|
+ maxWidth = 8;
|
|
|
+ expectedClippedWidth = 8;
|
|
|
+ wrappedLines = TextFormatter.WordWrap (text, maxWidth, true);
|
|
|
+ Assert.True (expectedClippedWidth >= wrappedLines.Max (l => l.RuneCount));
|
|
|
+ Assert.True (expectedClippedWidth >= wrappedLines.Max (l => l.ConsoleWidth));
|
|
|
+ Assert.Equal ("A ", wrappedLines [0].ToString ());
|
|
|
+ Assert.Equal ("sentence", wrappedLines [1].ToString ());
|
|
|
+ Assert.Equal (" has ", wrappedLines [2].ToString ());
|
|
|
+ Assert.Equal ("words.", wrappedLines [^1].ToString ());
|
|
|
+ Assert.True (wrappedLines.Count == 4);
|
|
|
+
|
|
|
+ maxWidth = 6;
|
|
|
+ expectedClippedWidth = 6;
|
|
|
+ wrappedLines = TextFormatter.WordWrap (text, maxWidth, true);
|
|
|
+ Assert.True (expectedClippedWidth >= wrappedLines.Max (l => l.RuneCount));
|
|
|
+ Assert.True (expectedClippedWidth >= wrappedLines.Max (l => l.ConsoleWidth));
|
|
|
+ Assert.Equal ("A ", wrappedLines [0].ToString ());
|
|
|
+ Assert.Equal ("senten", wrappedLines [1].ToString ());
|
|
|
+ Assert.Equal ("ce ", wrappedLines [2].ToString ());
|
|
|
+ Assert.Equal ("has ", wrappedLines [3].ToString ());
|
|
|
+ Assert.Equal ("words.", wrappedLines [^1].ToString ());
|
|
|
+ Assert.True (wrappedLines.Count == 5);
|
|
|
+
|
|
|
maxWidth = 3;
|
|
|
expectedClippedWidth = 3;
|
|
|
wrappedLines = TextFormatter.WordWrap (text, maxWidth, true);
|
|
@@ -2312,6 +2335,18 @@ namespace Terminal.Gui.Core {
|
|
|
Assert.Equal ("words.", wrappedLines [2].ToString ());
|
|
|
Assert.True (wrappedLines.Count == 3);
|
|
|
|
|
|
+ maxWidth = 8;
|
|
|
+ expectedClippedWidth = 8;
|
|
|
+ wrappedLines = TextFormatter.WordWrap (text, maxWidth, true, tabWidth);
|
|
|
+ Assert.True (expectedClippedWidth >= wrappedLines.Max (l => l.RuneCount));
|
|
|
+ Assert.Equal ("A ", wrappedLines [0].ToString ());
|
|
|
+ Assert.Equal ("sentence", wrappedLines [1].ToString ());
|
|
|
+ Assert.Equal ("\t\t", wrappedLines [2].ToString ());
|
|
|
+ Assert.Equal ("\t ", wrappedLines [3].ToString ());
|
|
|
+ Assert.Equal ("has ", wrappedLines [4].ToString ());
|
|
|
+ Assert.Equal ("words.", wrappedLines [^1].ToString ());
|
|
|
+ Assert.True (wrappedLines.Count == 6);
|
|
|
+
|
|
|
maxWidth = 3;
|
|
|
expectedClippedWidth = 3;
|
|
|
wrappedLines = TextFormatter.WordWrap (text, maxWidth, true, tabWidth);
|
|
@@ -2873,8 +2908,8 @@ namespace Terminal.Gui.Core {
|
|
|
Assert.Equal (" A ", list2 [0].ToString ());
|
|
|
Assert.Equal ("sent", list2 [1].ToString ());
|
|
|
Assert.Equal ("ence", list2 [2].ToString ());
|
|
|
- Assert.Equal (" has", list2 [3].ToString ());
|
|
|
- Assert.Equal (" ", list2 [4].ToString ());
|
|
|
+ Assert.Equal (" ", list2 [3].ToString ());
|
|
|
+ Assert.Equal ("has ", list2 [4].ToString ());
|
|
|
Assert.Equal ("word", list2 [5].ToString ());
|
|
|
Assert.Equal ("s. ", list2 [6].ToString ());
|
|
|
Assert.Equal (" ", list2 [7].ToString ());
|
|
@@ -3959,5 +3994,23 @@ e
|
|
|
pos = GraphViewTests.AssertDriverContentsWithFrameAre (expected, output);
|
|
|
Assert.Equal (new Rect (0, 0, 4, 10), pos);
|
|
|
}
|
|
|
+
|
|
|
+ [Fact]
|
|
|
+ public void Format_With_PreserveTrailingSpaces_And_Without_PreserveTrailingSpaces ()
|
|
|
+ {
|
|
|
+ var text = $"Line1{Environment.NewLine}Line2{Environment.NewLine}Line3{Environment.NewLine}";
|
|
|
+ var width = 60;
|
|
|
+ var preserveTrailingSpaces = false;
|
|
|
+ var formated = TextFormatter.Format (text, width, false, true, preserveTrailingSpaces);
|
|
|
+ Assert.Equal ("Line1", formated [0]);
|
|
|
+ Assert.Equal ("Line2", formated [1]);
|
|
|
+ Assert.Equal ("Line3", formated [^1]);
|
|
|
+
|
|
|
+ preserveTrailingSpaces = true;
|
|
|
+ formated = TextFormatter.Format (text, width, false, true, preserveTrailingSpaces);
|
|
|
+ Assert.Equal ("Line1", formated [0]);
|
|
|
+ Assert.Equal ("Line2", formated [1]);
|
|
|
+ Assert.Equal ("Line3", formated [^1]);
|
|
|
+ }
|
|
|
}
|
|
|
}
|