|
|
|
@ -292,6 +292,51 @@ namespace Avalonia.Controls.UnitTests |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Calling_Show_On_Closed_Window_Should_Throw() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|
|
|
{ |
|
|
|
var windowImpl = Mock.Of<IWindowImpl>(x => x.Scaling == 1); |
|
|
|
var target = new Window(windowImpl); |
|
|
|
|
|
|
|
target.Show(); |
|
|
|
target.Close(); |
|
|
|
|
|
|
|
var openedRaised = false; |
|
|
|
target.Opened += (s, e) => openedRaised = true; |
|
|
|
|
|
|
|
var ex = Assert.Throws<InvalidOperationException>(() => target.Show()); |
|
|
|
Assert.Equal("Cannot re-show a closed window.", ex.Message); |
|
|
|
Assert.False(openedRaised); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public async Task Calling_ShowDialog_On_Closed_Window_Should_Throw() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|
|
|
{ |
|
|
|
var parent = new Mock<IWindowImpl>(); |
|
|
|
var windowImpl = new Mock<IWindowImpl>(); |
|
|
|
windowImpl.SetupProperty(x => x.Closed); |
|
|
|
windowImpl.Setup(x => x.Scaling).Returns(1); |
|
|
|
|
|
|
|
var target = new Window(windowImpl.Object); |
|
|
|
var task = target.ShowDialog<bool>(parent.Object); |
|
|
|
|
|
|
|
windowImpl.Object.Closed(); |
|
|
|
await task; |
|
|
|
|
|
|
|
var openedRaised = false; |
|
|
|
target.Opened += (s, e) => openedRaised = true; |
|
|
|
|
|
|
|
var ex = await Assert.ThrowsAsync<InvalidOperationException>(() => target.ShowDialog<bool>(parent.Object)); |
|
|
|
Assert.Equal("Cannot re-show a closed window.", ex.Message); |
|
|
|
Assert.False(openedRaised); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void Window_Should_Be_Centered_When_WindowStartupLocation_Is_CenterScreen() |
|
|
|
{ |
|
|
|
|