| 12345678910111213141516171819202122232425262728293031323334353637 |
- using System;
- using System.Linq;
- using System.Runtime.InteropServices;
- using Xunit;
- namespace Avalonia.IntegrationTests.Appium
- {
- [Flags]
- internal enum TestPlatforms
- {
- Windows = 0x01,
- MacOS = 0x02,
- All = Windows | MacOS,
- }
-
- internal class PlatformFactAttribute : FactAttribute
- {
- public PlatformFactAttribute(TestPlatforms platforms = TestPlatforms.All) => Platforms = platforms;
-
- public TestPlatforms Platforms { get; }
-
- public override string? Skip
- {
- get => IsSupported() ? null : $"Ignored on {RuntimeInformation.OSDescription}";
- set => throw new NotSupportedException();
- }
- private bool IsSupported()
- {
- if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
- return Platforms.HasAnyFlag(TestPlatforms.Windows);
- if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
- return Platforms.HasAnyFlag(TestPlatforms.MacOS);
- return false;
- }
- }
- }
|