|
|
|
@ -34,7 +34,8 @@ namespace Avalonia.Controls.UnitTests |
|
|
|
{ |
|
|
|
Width = 321, |
|
|
|
Height = 432, |
|
|
|
} |
|
|
|
}, |
|
|
|
IsVisible = true, |
|
|
|
}; |
|
|
|
|
|
|
|
LayoutManager.Instance.ExecuteInitialLayoutPass(target); |
|
|
|
@ -95,6 +96,93 @@ namespace Avalonia.Controls.UnitTests |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void IsVisible_Should_Initially_Be_False() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.MockWindowingPlatform)) |
|
|
|
{ |
|
|
|
var target = new TestWindowBase(); |
|
|
|
|
|
|
|
Assert.False(target.IsVisible); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void IsVisible_Should_Be_True_After_Show() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|
|
|
{ |
|
|
|
var target = new TestWindowBase(); |
|
|
|
|
|
|
|
target.Show(); |
|
|
|
|
|
|
|
Assert.True(target.IsVisible); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void IsVisible_Should_Be_False_Atfer_Hide() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|
|
|
{ |
|
|
|
var target = new TestWindowBase(); |
|
|
|
|
|
|
|
target.Show(); |
|
|
|
target.Hide(); |
|
|
|
|
|
|
|
Assert.False(target.IsVisible); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void IsVisible_Should_Be_False_Atfer_Impl_Signals_Close() |
|
|
|
{ |
|
|
|
var windowImpl = new Mock<IPopupImpl>(); |
|
|
|
windowImpl.Setup(x => x.Scaling).Returns(1); |
|
|
|
windowImpl.SetupProperty(x => x.Closed); |
|
|
|
|
|
|
|
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|
|
|
{ |
|
|
|
var target = new TestWindowBase(windowImpl.Object); |
|
|
|
|
|
|
|
target.Show(); |
|
|
|
windowImpl.Object.Closed(); |
|
|
|
|
|
|
|
Assert.False(target.IsVisible); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Setting_IsVisible_True_Shows_Window() |
|
|
|
{ |
|
|
|
var windowImpl = new Mock<IPopupImpl>(); |
|
|
|
windowImpl.Setup(x => x.Scaling).Returns(1); |
|
|
|
|
|
|
|
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|
|
|
{ |
|
|
|
var target = new TestWindowBase(windowImpl.Object); |
|
|
|
target.IsVisible = true; |
|
|
|
|
|
|
|
windowImpl.Verify(x => x.Show()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Setting_IsVisible_False_Hides_Window() |
|
|
|
{ |
|
|
|
var windowImpl = new Mock<IPopupImpl>(); |
|
|
|
windowImpl.Setup(x => x.Scaling).Returns(1); |
|
|
|
|
|
|
|
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|
|
|
{ |
|
|
|
var target = new TestWindowBase(windowImpl.Object); |
|
|
|
target.Show(); |
|
|
|
target.IsVisible = false; |
|
|
|
|
|
|
|
windowImpl.Verify(x => x.Hide()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private FuncControlTemplate<TestWindowBase> CreateTemplate() |
|
|
|
{ |
|
|
|
return new FuncControlTemplate<TestWindowBase>(x => |
|
|
|
@ -109,6 +197,11 @@ namespace Avalonia.Controls.UnitTests |
|
|
|
{ |
|
|
|
public bool IsClosed { get; private set; } |
|
|
|
|
|
|
|
public TestWindowBase() |
|
|
|
: base(Mock.Of<IWindowBaseImpl>()) |
|
|
|
{ |
|
|
|
} |
|
|
|
|
|
|
|
public TestWindowBase(IWindowBaseImpl impl) |
|
|
|
: base(impl) |
|
|
|
{ |
|
|
|
|