Переглянути джерело

Skip accelerator key test on OSX.

OSX doesn't support accelerator keys.
Steven Kirk 3 роки тому
батько
коміт
66923cdb24

+ 3 - 2
tests/Avalonia.IntegrationTests.Appium/ButtonTests.cs

@@ -1,4 +1,5 @@
-using OpenQA.Selenium.Appium;
+using System.Runtime.InteropServices;
+using OpenQA.Selenium.Appium;
 using Xunit;
 
 namespace Avalonia.IntegrationTests.Appium
@@ -43,7 +44,7 @@ namespace Avalonia.IntegrationTests.Appium
             Assert.Equal("Button with TextBlock", button.Text);
         }
 
-        [Fact]
+        [PlatformFact(SkipOnOSX = true)]
         public void ButtonWithAcceleratorKey()
         {
             var button = _session.FindElementByAccessibilityId("ButtonWithAcceleratorKey");

+ 25 - 0
tests/Avalonia.IntegrationTests.Appium/PlatformFactAttribute.cs

@@ -0,0 +1,25 @@
+using System;
+using System.Linq;
+using System.Runtime.InteropServices;
+using Xunit;
+
+namespace Avalonia.IntegrationTests.Appium
+{
+    internal class PlatformFactAttribute : FactAttribute
+    {
+        public override string? Skip
+        {
+            get
+            {
+                if (SkipOnWindows && RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+                    return "Ignored on Windows";
+                if (SkipOnOSX && RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
+                    return "Ignored on Windows";
+                return null;
+            }
+            set => throw new NotSupportedException();
+        }
+        public bool SkipOnOSX { get; set; }
+        public bool SkipOnWindows { get; set; }
+    }
+}