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.Diagnostics;
using Avalonia.Input; using Avalonia.Input;
using Avalonia.Layout; using Avalonia.Layout;
using Avalonia.Media;
using Avalonia.Platform; using Avalonia.Platform;
using Avalonia.Rendering; using Avalonia.Rendering;
using Avalonia.Styling;
using Avalonia.UnitTests; using Avalonia.UnitTests;
using Avalonia.VisualTree; using Avalonia.VisualTree;
using JetBrains.dotMemoryUnit; using JetBrains.dotMemoryUnit;

20
tests/Avalonia.UnitTests/MockWindowingPlatform.cs

@ -22,13 +22,23 @@ namespace Avalonia.UnitTests
public static Mock<IWindowImpl> CreateWindowMock() public static Mock<IWindowImpl> CreateWindowMock()
{ {
var win = Mock.Of<IWindowImpl>(x => x.Scaling == 1); var windowImpl = new Mock<IWindowImpl>();
var mock = Mock.Get(win); var position = new PixelPoint();
mock.Setup(x => x.Show()).Callback(() => 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(); windowImpl.Object.Closed?.Invoke();
}); });

Loading…
Cancel
Save