Browse Source

fix tests

release/0.9.8
Dan Walmsley 7 years ago
parent
commit
c0eb7dad0c
  1. 2
      tests/Avalonia.LeakTests/ControlTests.cs
  2. 20
      tests/Avalonia.UnitTests/MockWindowingPlatform.cs

2
tests/Avalonia.LeakTests/ControlTests.cs

@ -10,8 +10,10 @@ using Avalonia.Controls.Templates;
using Avalonia.Diagnostics;
using Avalonia.Input;
using Avalonia.Layout;
using Avalonia.Media;
using Avalonia.Platform;
using Avalonia.Rendering;
using Avalonia.Styling;
using Avalonia.UnitTests;
using Avalonia.VisualTree;
using JetBrains.dotMemoryUnit;

20
tests/Avalonia.UnitTests/MockWindowingPlatform.cs

@ -22,13 +22,23 @@ namespace Avalonia.UnitTests
public static Mock<IWindowImpl> CreateWindowMock()
{
var win = Mock.Of<IWindowImpl>(x => x.Scaling == 1);
var mock = Mock.Get(win);
mock.Setup(x => x.Show()).Callback(() =>
var windowImpl = new Mock<IWindowImpl>();
var position = new PixelPoint();
var clientSize = new Size(800, 600);
windowImpl.SetupAllProperties();
windowImpl.Setup(x => x.ClientSize).Returns(() => clientSize);
windowImpl.Setup(x => x.Scaling).Returns(1);
windowImpl.Setup(x => x.Screen).Returns(CreateScreenMock().Object);
windowImpl.Setup(x => x.Position).Returns(() => position);
SetupToplevel(windowImpl);
windowImpl.Setup(x => x.CreatePopup()).Returns(() =>
{
mock.Object.Activated?.Invoke();
return CreatePopupMock(windowImpl.Object).Object;
});
mock.Setup(x => x.CreatePopup()).Returns(() =>
windowImpl.Setup(x => x.Dispose()).Callback(() =>
{
windowImpl.Object.Closed?.Invoke();
});

Loading…
Cancel
Save