diff --git a/tests/Avalonia.Visuals.UnitTests/Media/PathMarkupParserTests.cs b/tests/Avalonia.Visuals.UnitTests/Media/PathMarkupParserTests.cs index 8dca52e6a7..5570378063 100644 --- a/tests/Avalonia.Visuals.UnitTests/Media/PathMarkupParserTests.cs +++ b/tests/Avalonia.Visuals.UnitTests/Media/PathMarkupParserTests.cs @@ -9,6 +9,8 @@ namespace Avalonia.Visuals.UnitTests.Media { using System.Globalization; using System.IO; + using Avalonia.Platform; + using Moq; public class PathMarkupParserTests { @@ -18,7 +20,7 @@ namespace Avalonia.Visuals.UnitTests.Media var pathGeometry = new PathGeometry(); using (var context = new PathGeometryContext(pathGeometry)) using (var parser = new PathMarkupParser(context)) - { + { parser.Parse("M10 10"); var figure = pathGeometry.Figures[0]; @@ -202,6 +204,25 @@ namespace Avalonia.Visuals.UnitTests.Media } } + [Theory] + [InlineData("M0 0L10 10")] + [InlineData("M0 0L10 10z")] + [InlineData("M0 0L10 10 \n ")] + [InlineData("M0 0L10 10z \n ")] + [InlineData("M0 0L10 10 ")] + [InlineData("M0 0L10 10z ")] + public void Should_AlwaysEndFigure(string pathData) + { + var context = new Mock(); + + using (var parser = new PathMarkupParser(context.Object)) + { + parser.Parse(pathData); + } + + context.Verify(v => v.EndFigure(It.IsAny()), Times.AtLeastOnce()); + } + [Theory] [InlineData("0 0")] [InlineData("j")] @@ -215,4 +236,4 @@ namespace Avalonia.Visuals.UnitTests.Media } } } -} \ No newline at end of file +}