mirror of https://github.com/SixLabors/ImageSharp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
156 lines
6.1 KiB
156 lines
6.1 KiB
// Copyright (c) Six Labors and contributors.
|
|
// Licensed under the Apache License, Version 2.0.
|
|
|
|
using SixLabors.Fonts;
|
|
using SixLabors.ImageSharp.PixelFormats;
|
|
using SixLabors.ImageSharp.Processing;
|
|
|
|
using Xunit;
|
|
|
|
namespace SixLabors.ImageSharp.Tests.Drawing.Text
|
|
{
|
|
public class TextGraphicsOptionsTests
|
|
{
|
|
private readonly TextGraphicsOptions newTextGraphicsOptions = new TextGraphicsOptions();
|
|
private readonly TextGraphicsOptions defaultTextGraphicsOptions = TextGraphicsOptions.Default;
|
|
private readonly TextGraphicsOptions cloneTextGraphicsOptions = TextGraphicsOptions.Default.Clone();
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsIsNotNull() => Assert.True(this.defaultTextGraphicsOptions != null);
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsAntialias()
|
|
{
|
|
Assert.True(this.newTextGraphicsOptions.Antialias);
|
|
Assert.True(this.defaultTextGraphicsOptions.Antialias);
|
|
Assert.True(this.cloneTextGraphicsOptions.Antialias);
|
|
}
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsAntialiasSuppixelDepth()
|
|
{
|
|
const int Expected = 16;
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.AntialiasSubpixelDepth);
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.AntialiasSubpixelDepth);
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.AntialiasSubpixelDepth);
|
|
}
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsBlendPercentage()
|
|
{
|
|
const float Expected = 1F;
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.BlendPercentage);
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.BlendPercentage);
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.BlendPercentage);
|
|
}
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsColorBlendingMode()
|
|
{
|
|
const PixelColorBlendingMode Expected = PixelColorBlendingMode.Normal;
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.ColorBlendingMode);
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.ColorBlendingMode);
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.ColorBlendingMode);
|
|
}
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsAlphaCompositionMode()
|
|
{
|
|
const PixelAlphaCompositionMode Expected = PixelAlphaCompositionMode.SrcOver;
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.AlphaCompositionMode);
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.AlphaCompositionMode);
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.AlphaCompositionMode);
|
|
}
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsApplyKerning()
|
|
{
|
|
const bool Expected = true;
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.ApplyKerning);
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.ApplyKerning);
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.ApplyKerning);
|
|
}
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsHorizontalAlignment()
|
|
{
|
|
const HorizontalAlignment Expected = HorizontalAlignment.Left;
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.HorizontalAlignment);
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.HorizontalAlignment);
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.HorizontalAlignment);
|
|
}
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsVerticalAlignment()
|
|
{
|
|
const VerticalAlignment Expected = VerticalAlignment.Top;
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.VerticalAlignment);
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.VerticalAlignment);
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.VerticalAlignment);
|
|
}
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsDpiX()
|
|
{
|
|
const float Expected = 72F;
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.DpiX);
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.DpiX);
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.DpiX);
|
|
}
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsDpiY()
|
|
{
|
|
const float Expected = 72F;
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.DpiY);
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.DpiY);
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.DpiY);
|
|
}
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsTabWidth()
|
|
{
|
|
const float Expected = 4F;
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.TabWidth);
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.TabWidth);
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.TabWidth);
|
|
}
|
|
|
|
[Fact]
|
|
public void DefaultTextGraphicsOptionsWrapTextWidth()
|
|
{
|
|
const float Expected = 0F;
|
|
Assert.Equal(Expected, this.newTextGraphicsOptions.WrapTextWidth);
|
|
Assert.Equal(Expected, this.defaultTextGraphicsOptions.WrapTextWidth);
|
|
Assert.Equal(Expected, this.cloneTextGraphicsOptions.WrapTextWidth);
|
|
}
|
|
|
|
[Fact]
|
|
public void ExplicitCastOfGraphicsOptions()
|
|
{
|
|
TextGraphicsOptions textOptions = new GraphicsOptions
|
|
{
|
|
Antialias = false,
|
|
AntialiasSubpixelDepth = 99
|
|
};
|
|
|
|
Assert.False(textOptions.Antialias);
|
|
Assert.Equal(99, textOptions.AntialiasSubpixelDepth);
|
|
}
|
|
|
|
[Fact]
|
|
public void ImplicitCastToGraphicsOptions()
|
|
{
|
|
var textOptions = new TextGraphicsOptions
|
|
{
|
|
Antialias = false,
|
|
AntialiasSubpixelDepth = 99
|
|
};
|
|
|
|
var opt = (GraphicsOptions)textOptions;
|
|
|
|
Assert.False(opt.Antialias);
|
|
Assert.Equal(99, opt.AntialiasSubpixelDepth);
|
|
}
|
|
}
|
|
}
|
|
|