Browse Source

Add additional failing integration tests.

For problems introduced in #10153.
pull/10265/head
Steven Kirk 3 years ago
parent
commit
2951b80c39
  1. 20
      tests/Avalonia.IntegrationTests.Appium/WindowTests.cs

20
tests/Avalonia.IntegrationTests.Appium/WindowTests.cs

@ -30,9 +30,9 @@ namespace Avalonia.IntegrationTests.Appium
[Theory] [Theory]
[MemberData(nameof(StartupLocationData))] [MemberData(nameof(StartupLocationData))]
public void StartupLocation(Size? size, ShowWindowMode mode, WindowStartupLocation location) public void StartupLocation(Size? size, ShowWindowMode mode, WindowStartupLocation location, bool canResize)
{ {
using var window = OpenWindow(size, mode, location); using var window = OpenWindow(size, mode, location, canResize: canResize);
var info = GetWindowInfo(); var info = GetWindowInfo();
if (size.HasValue) if (size.HasValue)
@ -230,10 +230,10 @@ namespace Avalonia.IntegrationTests.Appium
Assert.Equal(new Rgba32(255, 0, 0), centerColor); Assert.Equal(new Rgba32(255, 0, 0), centerColor);
} }
public static TheoryData<Size?, ShowWindowMode, WindowStartupLocation> StartupLocationData() public static TheoryData<Size?, ShowWindowMode, WindowStartupLocation, bool> StartupLocationData()
{ {
var sizes = new Size?[] { null, new Size(400, 300) }; var sizes = new Size?[] { null, new Size(400, 300) };
var data = new TheoryData<Size?, ShowWindowMode, WindowStartupLocation>(); var data = new TheoryData<Size?, ShowWindowMode, WindowStartupLocation, bool>();
foreach (var size in sizes) foreach (var size in sizes)
{ {
@ -243,7 +243,8 @@ namespace Avalonia.IntegrationTests.Appium
{ {
if (!(location == WindowStartupLocation.CenterOwner && mode == ShowWindowMode.NonOwned)) if (!(location == WindowStartupLocation.CenterOwner && mode == ShowWindowMode.NonOwned))
{ {
data.Add(size, mode, location); data.Add(size, mode, location, true);
data.Add(size, mode, location, false);
} }
} }
} }
@ -311,14 +312,16 @@ namespace Avalonia.IntegrationTests.Appium
Size? size, Size? size,
ShowWindowMode mode, ShowWindowMode mode,
WindowStartupLocation location = WindowStartupLocation.Manual, WindowStartupLocation location = WindowStartupLocation.Manual,
WindowState state = Controls.WindowState.Normal) WindowState state = Controls.WindowState.Normal,
bool canResize = true)
{ {
var sizeTextBox = _session.FindElementByAccessibilityId("ShowWindowSize"); var sizeTextBox = _session.FindElementByAccessibilityId("ShowWindowSize");
var modeComboBox = _session.FindElementByAccessibilityId("ShowWindowMode"); var modeComboBox = _session.FindElementByAccessibilityId("ShowWindowMode");
var locationComboBox = _session.FindElementByAccessibilityId("ShowWindowLocation"); var locationComboBox = _session.FindElementByAccessibilityId("ShowWindowLocation");
var stateComboBox = _session.FindElementByAccessibilityId("ShowWindowState"); var stateComboBox = _session.FindElementByAccessibilityId("ShowWindowState");
var canResizeCheckBox = _session.FindElementByAccessibilityId("ShowWindowCanResize");
var showButton = _session.FindElementByAccessibilityId("ShowWindow"); var showButton = _session.FindElementByAccessibilityId("ShowWindow");
if (size.HasValue) if (size.HasValue)
sizeTextBox.SendKeys($"{size.Value.Width}, {size.Value.Height}"); sizeTextBox.SendKeys($"{size.Value.Width}, {size.Value.Height}");
@ -331,6 +334,9 @@ namespace Avalonia.IntegrationTests.Appium
stateComboBox.Click(); stateComboBox.Click();
_session.FindElementByAccessibilityId($"ShowWindowState{state}").SendClick(); _session.FindElementByAccessibilityId($"ShowWindowState{state}").SendClick();
if (canResizeCheckBox.GetIsChecked() != canResize)
canResizeCheckBox.Click();
return showButton.OpenWindowWithClick(); return showButton.OpenWindowWithClick();
} }

Loading…
Cancel
Save