Browse Source

Added failing test for #4822.

pull/4858/head
Steven Kirk 5 years ago
parent
commit
94b6f133ea
  1. 22
      tests/Avalonia.Controls.UnitTests/Shapes/PathTests.cs
  2. 2
      tests/Avalonia.UnitTests/MockPlatformRenderInterface.cs

22
tests/Avalonia.Controls.UnitTests/Shapes/PathTests.cs

@ -1,4 +1,5 @@
using Avalonia.Controls.Shapes;
using System.Runtime.InteropServices;
using Avalonia.Controls.Shapes;
using Avalonia.Media;
using Avalonia.UnitTests;
using Xunit;
@ -34,5 +35,24 @@ namespace Avalonia.Controls.UnitTests.Shapes
root.Child = null;
}
[Fact]
public void Arrange_Without_Measure_Updates_RenderedGeometry_Transform()
{
using var app = UnitTestApplication.Start(TestServices.MockPlatformRenderInterface);
var target = new Path
{
Data = new RectangleGeometry { Rect = new Rect(0, 0, 100, 100) },
Stretch = Stretch.Fill,
};
target.Measure(new Size(200, 200));
target.Arrange(new Rect(0, 0, 200, 200));
Assert.Equal(Matrix.CreateScale(2, 2), target.RenderedGeometry.Transform.Value);
target.Arrange(new Rect(0, 0, 300, 300));
Assert.Equal(Matrix.CreateScale(3, 3), target.RenderedGeometry.Transform.Value);
}
}
}

2
tests/Avalonia.UnitTests/MockPlatformRenderInterface.cs

@ -34,7 +34,7 @@ namespace Avalonia.UnitTests
public IGeometryImpl CreateRectangleGeometry(Rect rect)
{
return Mock.Of<IGeometryImpl>();
return Mock.Of<IGeometryImpl>(x => x.Bounds == rect);
}
public IRenderTarget CreateRenderTarget(IEnumerable<object> surfaces)

Loading…
Cancel
Save