Browse Source

use inline data.

pull/5616/head
Dan Walmsley 5 years ago
parent
commit
69a149f0ca
  1. 133
      tests/Avalonia.Controls.UnitTests/WindowTests.cs

133
tests/Avalonia.Controls.UnitTests/WindowTests.cs

@ -137,8 +137,10 @@ namespace Avalonia.Controls.UnitTests
}
}
[Fact]
public void Child_windows_should_be_closed_before_parent_OSCloseButton()
[Theory]
[InlineData(true)]
[InlineData(false)]
public void Child_windows_should_be_closed_before_parent(bool programaticClose)
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
@ -178,112 +180,16 @@ namespace Avalonia.Controls.UnitTests
window.Show();
child.Show(window);
var cancel = window.PlatformImpl.Closing();
Assert.Equal(false, cancel);
Assert.Equal(2, windowClosing);
Assert.Equal(1, childClosing);
Assert.Equal(4, windowClosed);
Assert.Equal(3, childClosed);
}
}
[Fact]
public void Child_windows_must_not_close_before_parent_has_chance_to_Cancel_OSCloseButton()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var window = new Window();
var child = new Window();
int count = 0;
int windowClosing = 0;
int childClosing = 0;
int windowClosed = 0;
int childClosed = 0;
window.Closing += (sender, e) =>
{
count++;
windowClosing = count;
e.Cancel = true;
};
child.Closing += (sender, e) =>
{
count++;
childClosing = count;
};
window.Closed += (sender, e) =>
if (programaticClose)
{
count++;
windowClosed = count;
};
child.Closed += (sender, e) =>
{
count++;
childClosed = count;
};
window.Show();
child.Show(window);
var cancel = window.PlatformImpl.Closing();
Assert.Equal(true, cancel);
Assert.Equal(2, windowClosing);
Assert.Equal(1, childClosing);
Assert.Equal(0, windowClosed);
Assert.Equal(0, childClosed);
}
}
[Fact]
public void Child_windows_should_be_closed_before_parent_Programatically()
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
var window = new Window();
var child = new Window();
int count = 0;
int windowClosing = 0;
int childClosing = 0;
int windowClosed = 0;
int childClosed = 0;
window.Closing += (sender, e) =>
{
count++;
windowClosing = count;
};
child.Closing += (sender, e) =>
{
count++;
childClosing = count;
};
window.Closed += (sender, e) =>
{
count++;
windowClosed = count;
};
child.Closed += (sender, e) =>
window.Close();
}
else
{
count++;
childClosed = count;
};
var cancel = window.PlatformImpl.Closing();
window.Show();
child.Show(window);
window.Close();
Assert.Equal(false, cancel);
}
Assert.Equal(2, windowClosing);
Assert.Equal(1, childClosing);
@ -292,8 +198,10 @@ namespace Avalonia.Controls.UnitTests
}
}
[Fact]
public void Child_windows_must_not_close_before_parent_has_chance_to_Cancel_Programatically()
[Theory]
[InlineData(true)]
[InlineData(false)]
public void Child_windows_must_not_close_before_parent_has_chance_to_Cancel_OSCloseButton(bool programaticClose)
{
using (UnitTestApplication.Start(TestServices.StyledWindow))
{
@ -334,7 +242,16 @@ namespace Avalonia.Controls.UnitTests
window.Show();
child.Show(window);
window.Close();
if (programaticClose)
{
window.Close();
}
else
{
var cancel = window.PlatformImpl.Closing();
Assert.Equal(true, cancel);
}
Assert.Equal(2, windowClosing);
Assert.Equal(1, childClosing);

Loading…
Cancel
Save