|
|
|
@ -4,33 +4,26 @@ |
|
|
|
// </copyright>
|
|
|
|
// -----------------------------------------------------------------------
|
|
|
|
|
|
|
|
using Avalonia.Layout; |
|
|
|
using Avalonia.Platform; |
|
|
|
using Avalonia.UnitTests; |
|
|
|
using Moq; |
|
|
|
using Xunit; |
|
|
|
|
|
|
|
namespace Avalonia.Controls.UnitTests |
|
|
|
{ |
|
|
|
using System.Reactive; |
|
|
|
using System.Reactive.Subjects; |
|
|
|
using Moq; |
|
|
|
using Avalonia.Controls.Presenters; |
|
|
|
using Avalonia.Controls.Templates; |
|
|
|
using Avalonia.Input; |
|
|
|
using Avalonia.Input.Raw; |
|
|
|
using Avalonia.Layout; |
|
|
|
using Avalonia.Platform; |
|
|
|
using Avalonia.Rendering; |
|
|
|
using Avalonia.Styling; |
|
|
|
using Ploeh.AutoFixture; |
|
|
|
using Ploeh.AutoFixture.AutoMoq; |
|
|
|
using Splat; |
|
|
|
using Xunit; |
|
|
|
|
|
|
|
public class WindowTests |
|
|
|
{ |
|
|
|
[Fact] |
|
|
|
public void Setting_Title_Should_Set_Impl_Title() |
|
|
|
{ |
|
|
|
using (Locator.CurrentMutable.WithResolver()) |
|
|
|
var windowImpl = new Mock<IWindowImpl>(); |
|
|
|
var services = new TestServices( |
|
|
|
windowingPlatform: new MockWindowingPlatform(() => windowImpl.Object)); |
|
|
|
|
|
|
|
using (UnitTestApplication.Start(services)) |
|
|
|
{ |
|
|
|
var windowImpl = new Mock<IWindowImpl>(); |
|
|
|
Locator.CurrentMutable.RegisterConstant(windowImpl.Object, typeof(IWindowImpl)); |
|
|
|
AvaloniaLocator.CurrentMutable.BindToSelf(windowImpl.Object); |
|
|
|
|
|
|
|
var target = new Window(); |
|
|
|
|
|
|
|
@ -39,5 +32,90 @@ namespace Avalonia.Controls.UnitTests |
|
|
|
windowImpl.Verify(x => x.SetTitle("Hello World")); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void IsVisible_Should_Initially_Be_False() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.MockWindowingPlatform)) |
|
|
|
{ |
|
|
|
var window = new Window(); |
|
|
|
|
|
|
|
Assert.False(window.IsVisible); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void IsVisible_Should_Be_True_After_Show() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|
|
|
{ |
|
|
|
var window = new Window(); |
|
|
|
|
|
|
|
window.Show(); |
|
|
|
|
|
|
|
Assert.True(window.IsVisible); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void IsVisible_Should_Be_True_After_ShowDialog() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|
|
|
{ |
|
|
|
var window = new Window(); |
|
|
|
|
|
|
|
var task = window.ShowDialog(); |
|
|
|
|
|
|
|
Assert.True(window.IsVisible); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void IsVisible_Should_Be_False_Atfer_Hide() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|
|
|
{ |
|
|
|
var window = new Window(); |
|
|
|
|
|
|
|
window.Show(); |
|
|
|
window.Hide(); |
|
|
|
|
|
|
|
Assert.False(window.IsVisible); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void IsVisible_Should_Be_False_Atfer_Close() |
|
|
|
{ |
|
|
|
using (UnitTestApplication.Start(TestServices.StyledWindow)) |
|
|
|
{ |
|
|
|
var window = new Window(); |
|
|
|
|
|
|
|
window.Show(); |
|
|
|
window.Close(); |
|
|
|
|
|
|
|
Assert.False(window.IsVisible); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void IsVisible_Should_Be_False_Atfer_Impl_Signals_Close() |
|
|
|
{ |
|
|
|
var windowImpl = new Mock<IWindowImpl>(); |
|
|
|
windowImpl.SetupProperty(x => x.Closed); |
|
|
|
|
|
|
|
var services = TestServices.StyledWindow.With( |
|
|
|
windowingPlatform: new MockWindowingPlatform(() => windowImpl.Object)); |
|
|
|
|
|
|
|
using (UnitTestApplication.Start(services)) |
|
|
|
{ |
|
|
|
var window = new Window(); |
|
|
|
|
|
|
|
window.Show(); |
|
|
|
windowImpl.Object.Closed(); |
|
|
|
|
|
|
|
Assert.False(window.IsVisible); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|