diff --git a/tests/Tests/SkiaSharp/SKFontTest.cs b/tests/Tests/SkiaSharp/SKFontTest.cs index 77070ec12c..bf87d43210 100644 --- a/tests/Tests/SkiaSharp/SKFontTest.cs +++ b/tests/Tests/SkiaSharp/SKFontTest.cs @@ -1,4 +1,5 @@ using System; +using System.IO; using System.Linq; using Xunit; @@ -473,5 +474,26 @@ public void BreakTextHasCorrectLogic(int textSize) mm = m; } } + + [SkippableTheory] + [InlineData("CourierNew.ttf")] + [InlineData("Distortable.ttf")] + [InlineData("Funkster.ttf")] + [InlineData("HangingS.ttf")] + [InlineData("ReallyBigA.ttf")] + [InlineData("Roboto.woff2")] + [InlineData("RobotoMono.woff2")] + [InlineData("Roboto2-Regular_NoEmbed.ttf")] + [InlineData("segoeui.ttf")] + [InlineData("上田雅美.ttf")] + public void CanSetTypefacesWithoutCrashing(string fontfile) + { + using var font = new SKFont(); + + using var typeface = SKTypeface.FromFile(Path.Combine(PathToFonts, fontfile)); + font.Typeface = typeface; + + Assert.Same(typeface, font.Typeface); + } } } diff --git a/tests/Tests/SkiaSharp/SKPaintTest.cs b/tests/Tests/SkiaSharp/SKPaintTest.cs index e2498a2d6a..48b7540fb1 100644 --- a/tests/Tests/SkiaSharp/SKPaintTest.cs +++ b/tests/Tests/SkiaSharp/SKPaintTest.cs @@ -698,5 +698,27 @@ public void PaintWithAliasEdgingIsPreserved() Assert.True(paint.IsAntialias); Assert.Equal(SKFontEdging.Antialias, paint.GetFont().Edging); } + + [Obsolete] + [SkippableTheory] + [InlineData("CourierNew.ttf")] + [InlineData("Distortable.ttf")] + [InlineData("Funkster.ttf")] + [InlineData("HangingS.ttf")] + [InlineData("ReallyBigA.ttf")] + [InlineData("Roboto.woff2")] + [InlineData("RobotoMono.woff2")] + [InlineData("Roboto2-Regular_NoEmbed.ttf")] + [InlineData("segoeui.ttf")] + [InlineData("上田雅美.ttf")] + public void CanSetTypefacesWithoutCrashing(string fontfile) + { + using var paint = new SKPaint(); + + using var typeface = SKTypeface.FromFile(Path.Combine(PathToFonts, fontfile)); + paint.Typeface = typeface; + + Assert.Same(typeface, paint.Typeface); + } } }