Browse Source

fix mockwindowplatform and test.

pull/8482/head
Dan Walmsley 4 years ago
parent
commit
0aacec3fae
  1. 25
      tests/Avalonia.Controls.UnitTests/WindowTests.cs
  2. 10
      tests/Avalonia.UnitTests/MockWindowingPlatform.cs

25
tests/Avalonia.Controls.UnitTests/WindowTests.cs

@ -553,29 +553,6 @@ namespace Avalonia.Controls.UnitTests
windowImpl.Setup(x => x.DesktopScaling).Returns(1.75); windowImpl.Setup(x => x.DesktopScaling).Returns(1.75);
windowImpl.Setup(x => x.RenderScaling).Returns(1.75); windowImpl.Setup(x => x.RenderScaling).Returns(1.75);
windowImpl.Setup(x => x.Screen).Returns(screens.Object); windowImpl.Setup(x => x.Screen).Returns(screens.Object);
var clientSize = new Size(400, 300);
bool isShown = false;
windowImpl.Setup(x => x.Resize(It.IsAny<Size>(), It.IsAny<PlatformResizeReason>()))
.Callback<Size, PlatformResizeReason>((x, y) =>
{
if (x != clientSize)
{
clientSize = x;
windowImpl.Object.Resized?.Invoke(clientSize, y);
}
});
windowImpl.Setup(x => x.Show(It.IsAny<bool>(), It.IsAny<bool>()))
.Callback<bool, bool>((activate, isDialog) =>
{
isShown = true;
windowImpl.Object.Resized?.Invoke(clientSize, PlatformResizeReason.Unspecified);
});
windowImpl.Setup(x => x.FrameSize).Returns(() => windowImpl.Object.ClientSize.Inflate(new Thickness(5, 25, 5, 5)));
using (UnitTestApplication.Start(TestServices.StyledWindow)) using (UnitTestApplication.Start(TestServices.StyledWindow))
{ {
@ -586,7 +563,7 @@ namespace Avalonia.Controls.UnitTests
window.Show(); window.Show();
Assert.Equal(new PixelPoint(601, 194), window.Position); Assert.Equal(new PixelPoint(330, 63), window.Position);
Assert.Equal(new Size(720, 480), window.Bounds.Size); Assert.Equal(new Size(720, 480), window.Bounds.Size);
} }
} }

10
tests/Avalonia.UnitTests/MockWindowingPlatform.cs

@ -55,12 +55,18 @@ namespace Avalonia.UnitTests
windowImpl.Setup(x => x.Resize(It.IsAny<Size>(), It.IsAny<PlatformResizeReason>())) windowImpl.Setup(x => x.Resize(It.IsAny<Size>(), It.IsAny<PlatformResizeReason>()))
.Callback<Size, PlatformResizeReason>((x, y) => .Callback<Size, PlatformResizeReason>((x, y) =>
{ {
clientSize = x.Constrain(s_screenSize); var constrainedSize = x.Constrain(s_screenSize);
windowImpl.Object.Resized?.Invoke(clientSize, y);
if (constrainedSize != clientSize)
{
clientSize = constrainedSize;
windowImpl.Object.Resized?.Invoke(clientSize, y);
}
}); });
windowImpl.Setup(x => x.Show(true, It.IsAny<bool>())).Callback(() => windowImpl.Setup(x => x.Show(true, It.IsAny<bool>())).Callback(() =>
{ {
windowImpl.Object.Resized?.Invoke(windowImpl.Object.ClientSize, PlatformResizeReason.Unspecified);
windowImpl.Object.Activated?.Invoke(); windowImpl.Object.Activated?.Invoke();
}); });

Loading…
Cancel
Save