Browse Source

Add additional failing integration tests.

For problems introduced in #10153.
Steven Kirk 2 years ago
parent
commit
2951b80c39
1 changed files with 13 additions and 7 deletions
  1. 13 7
      tests/Avalonia.IntegrationTests.Appium/WindowTests.cs

+ 13 - 7
tests/Avalonia.IntegrationTests.Appium/WindowTests.cs

@@ -30,9 +30,9 @@ namespace Avalonia.IntegrationTests.Appium
 
         [Theory]
         [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();
 
             if (size.HasValue)
@@ -230,10 +230,10 @@ namespace Avalonia.IntegrationTests.Appium
             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 data = new TheoryData<Size?, ShowWindowMode, WindowStartupLocation>();
+            var data = new TheoryData<Size?, ShowWindowMode, WindowStartupLocation, bool>();
 
             foreach (var size in sizes)
             {
@@ -243,7 +243,8 @@ namespace Avalonia.IntegrationTests.Appium
                     {
                         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,
             ShowWindowMode mode,
             WindowStartupLocation location = WindowStartupLocation.Manual,
-            WindowState state = Controls.WindowState.Normal)
+            WindowState state = Controls.WindowState.Normal,
+            bool canResize = true)
         {
             var sizeTextBox = _session.FindElementByAccessibilityId("ShowWindowSize");
             var modeComboBox = _session.FindElementByAccessibilityId("ShowWindowMode");
             var locationComboBox = _session.FindElementByAccessibilityId("ShowWindowLocation");
             var stateComboBox = _session.FindElementByAccessibilityId("ShowWindowState");
+            var canResizeCheckBox = _session.FindElementByAccessibilityId("ShowWindowCanResize");
             var showButton = _session.FindElementByAccessibilityId("ShowWindow");
-
+            
             if (size.HasValue)
                 sizeTextBox.SendKeys($"{size.Value.Width}, {size.Value.Height}");
 
@@ -331,6 +334,9 @@ namespace Avalonia.IntegrationTests.Appium
             stateComboBox.Click();
             _session.FindElementByAccessibilityId($"ShowWindowState{state}").SendClick();
 
+            if (canResizeCheckBox.GetIsChecked() != canResize)
+                canResizeCheckBox.Click();
+
             return showButton.OpenWindowWithClick();
         }