csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
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.
45 lines
1.4 KiB
45 lines
1.4 KiB
using Avalonia.Media;
|
|
using Xunit;
|
|
|
|
namespace Avalonia.Visuals.UnitTests.Media
|
|
{
|
|
public class BoxShadowTests
|
|
{
|
|
[Fact]
|
|
public void BoxShadow_Should_Parse()
|
|
{
|
|
foreach (var extraSpaces in new[] { false, true })
|
|
foreach (var inset in new[] { false, true })
|
|
for (var componentCount = 2; componentCount < 5; componentCount++)
|
|
{
|
|
var s = (inset ? "inset " : "") + "10 20";
|
|
double blur = 0;
|
|
double spread = 0;
|
|
if (componentCount > 2)
|
|
{
|
|
s += " 30";
|
|
blur = 30;
|
|
}
|
|
|
|
if (componentCount > 3)
|
|
{
|
|
s += " 40";
|
|
spread = 40;
|
|
}
|
|
|
|
s += " red";
|
|
|
|
if (extraSpaces)
|
|
s = " " + s.Replace(" ", " ") + " ";
|
|
|
|
var parsed = BoxShadow.Parse(s);
|
|
Assert.Equal(inset, parsed.IsInset);
|
|
Assert.Equal(10, parsed.OffsetX);
|
|
Assert.Equal(20, parsed.OffsetY);
|
|
Assert.Equal(blur, parsed.Blur);
|
|
Assert.Equal(spread, parsed.Spread);
|
|
Assert.Equal(Colors.Red, parsed.Color);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|