|
|
|
@ -406,9 +406,13 @@ namespace Avalonia.Skia.UnitTests |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[InlineData("abcde\r\n")] |
|
|
|
[InlineData("abcde\n\r")] |
|
|
|
public void Should_Break_With_BreakChar_Pair(string text) |
|
|
|
[InlineData("abcde\r\n", 7)] // Carriage Return + Line Feed
|
|
|
|
[InlineData("abcde\n\r", 7)] // This isn't valid but we somehow have to support it.
|
|
|
|
[InlineData("abcde\u000A", 6)] // Line Feed
|
|
|
|
[InlineData("abcde\u000B", 6)] // Vertical Tab
|
|
|
|
[InlineData("abcde\u000C", 6)] // Form Feed
|
|
|
|
[InlineData("abcde\u000D", 6)] // Carriage Return
|
|
|
|
public void Should_Break_With_BreakChar(string text, int expectedLength) |
|
|
|
{ |
|
|
|
using (Start()) |
|
|
|
{ |
|
|
|
@ -422,11 +426,14 @@ namespace Avalonia.Skia.UnitTests |
|
|
|
|
|
|
|
Assert.Equal(1, layout.TextLines[0].TextRuns.Count); |
|
|
|
|
|
|
|
Assert.Equal(7, ((ShapedTextRun)layout.TextLines[0].TextRuns[0]).GlyphRun.GlyphClusters.Length); |
|
|
|
Assert.Equal(expectedLength, ((ShapedTextRun)layout.TextLines[0].TextRuns[0]).GlyphRun.GlyphClusters.Length); |
|
|
|
|
|
|
|
Assert.Equal(5, ((ShapedTextRun)layout.TextLines[0].TextRuns[0]).GlyphRun.GlyphClusters[5]); |
|
|
|
|
|
|
|
Assert.Equal(5, ((ShapedTextRun)layout.TextLines[0].TextRuns[0]).GlyphRun.GlyphClusters[6]); |
|
|
|
if(expectedLength == 7) |
|
|
|
{ |
|
|
|
Assert.Equal(5, ((ShapedTextRun)layout.TextLines[0].TextRuns[0]).GlyphRun.GlyphClusters[6]); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|