mirror of https://github.com/SixLabors/ImageSharp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.4 KiB
38 lines
1.4 KiB
// Licensed to the .NET Foundation under one or more agreements.
|
|
// The .NET Foundation licenses this file to you under the MIT license.
|
|
|
|
using System;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using Microsoft.DotNet.XUnitExtensions;
|
|
using Xunit.Sdk;
|
|
|
|
namespace Xunit
|
|
{
|
|
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)]
|
|
public sealed class ConditionalFactAttribute : FactAttribute
|
|
{
|
|
[DynamicallyAccessedMembers(StaticReflectionConstants.ConditionalMemberKinds)]
|
|
public Type CalleeType { get; private set; }
|
|
|
|
public string[] ConditionMemberNames { get; private set; }
|
|
|
|
public ConditionalFactAttribute(
|
|
[DynamicallyAccessedMembers(StaticReflectionConstants.ConditionalMemberKinds)]
|
|
Type calleeType,
|
|
params string[] conditionMemberNames)
|
|
{
|
|
CalleeType = calleeType;
|
|
ConditionMemberNames = conditionMemberNames;
|
|
string skipReason = ConditionalTestDiscoverer.EvaluateSkipConditions(calleeType, conditionMemberNames);
|
|
if (skipReason != null)
|
|
Skip = skipReason;
|
|
}
|
|
|
|
[Obsolete(
|
|
"Use the overload that takes a Type parameter: ConditionalFact(typeof(MyClass), nameof(MyCondition)).")]
|
|
public ConditionalFactAttribute(params string[] conditionMemberNames)
|
|
{
|
|
ConditionMemberNames = conditionMemberNames;
|
|
}
|
|
}
|
|
}
|
|
|