|
|
|
@ -7,25 +7,33 @@ namespace Avalonia.Skia.UnitTests.Media |
|
|
|
public class SKTypefaceCollectionCacheTests |
|
|
|
{ |
|
|
|
[Fact] |
|
|
|
public void Should_Load_Typefaces_From_Invalid_Name() |
|
|
|
public void Should_Get_Near_Matching_Typeface() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.MockPlatformRenderInterface)) |
|
|
|
{ |
|
|
|
var notoMono = |
|
|
|
new FontFamily("resm:Avalonia.Skia.UnitTests.Assets?assembly=Avalonia.Skia.UnitTests#Noto Mono"); |
|
|
|
|
|
|
|
var colorEmoji = |
|
|
|
new FontFamily("resm:Avalonia.Skia.UnitTests.Assets?assembly=Avalonia.Skia.UnitTests#Twitter Color Emoji"); |
|
|
|
|
|
|
|
var notoMonoCollection = SKTypefaceCollectionCache.GetOrAddTypefaceCollection(notoMono); |
|
|
|
|
|
|
|
var typeface = new Typeface("ABC", FontStyle.Italic, FontWeight.Bold); |
|
|
|
|
|
|
|
Assert.Equal("Noto Mono", notoMonoCollection.Get(typeface).FamilyName); |
|
|
|
|
|
|
|
var notoColorEmojiCollection = SKTypefaceCollectionCache.GetOrAddTypefaceCollection(colorEmoji); |
|
|
|
Assert.Equal("Noto Mono", |
|
|
|
notoMonoCollection.Get(new Typeface(notoMono, weight: FontWeight.Bold)).FamilyName); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Should_Get_Null_For_Invalid_FamilyName() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.MockPlatformRenderInterface)) |
|
|
|
{ |
|
|
|
var notoMono = |
|
|
|
new FontFamily("resm:Avalonia.Skia.UnitTests.Assets?assembly=Avalonia.Skia.UnitTests#Noto Mono"); |
|
|
|
|
|
|
|
var notoMonoCollection = SKTypefaceCollectionCache.GetOrAddTypefaceCollection(notoMono); |
|
|
|
|
|
|
|
Assert.Equal("Twitter Color Emoji", notoColorEmojiCollection.Get(typeface).FamilyName); |
|
|
|
var typeface = notoMonoCollection.Get(new Typeface("ABC")); |
|
|
|
|
|
|
|
Assert.Null(typeface); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|