mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 10:17:22 +01:00
bweh
This commit is contained in:
parent
80ec740b58
commit
8cd84de9d3
1 changed files with 17 additions and 21 deletions
|
|
@ -5,19 +5,12 @@ using System.Reflection;
|
|||
using Dalamud.Utility;
|
||||
|
||||
using Xunit;
|
||||
using Xunit.Abstractions;
|
||||
|
||||
|
||||
namespace Dalamud.Test.Compliance;
|
||||
|
||||
public class PublicApiTests
|
||||
{
|
||||
private readonly ITestOutputHelper testOutputHelper;
|
||||
public PublicApiTests(ITestOutputHelper testOutputHelper)
|
||||
{
|
||||
this.testOutputHelper = testOutputHelper;
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NoClientStructsTypes()
|
||||
{
|
||||
|
|
@ -29,46 +22,49 @@ public class PublicApiTests
|
|||
{
|
||||
if (t.GetCustomAttribute<ObsoleteAttribute>() != null) continue;
|
||||
|
||||
var methods = t.GetMethods().Where(m => m.IsPublic && !m.IsSpecialName);
|
||||
|
||||
foreach (var m in methods)
|
||||
foreach (var m in t.GetMethods().Where(m => m.IsPublic && !m.IsSpecialName))
|
||||
{
|
||||
if (m.GetCustomAttribute<ObsoleteAttribute>() != null || m.GetCustomAttribute<Api14ToDoAttribute>() != null) continue;
|
||||
if (m.IsPrivate) continue;
|
||||
if (m.GetCustomAttribute<ObsoleteAttribute>() != null ||
|
||||
m.GetCustomAttribute<Api14ToDoAttribute>() != null) continue;
|
||||
|
||||
if (m.ReturnType.Assembly == clientStructsAssembly)
|
||||
{
|
||||
Assert.Fail($"Method {t.FullName}.{m.Name} returns a type from FFXIVClientStructs: {m.ReturnType.FullName}");
|
||||
Assert.Fail(
|
||||
$"Method {t.FullName}.{m.Name} returns a type from FFXIVClientStructs: {m.ReturnType.FullName}");
|
||||
}
|
||||
|
||||
foreach (var param in m.GetParameters())
|
||||
{
|
||||
if (param.ParameterType.Assembly == clientStructsAssembly)
|
||||
{
|
||||
Assert.Fail($"Method {t.FullName}.{m.Name} has a parameter from FFXIVClientStructs: {param.ParameterType.FullName}");
|
||||
Assert.Fail(
|
||||
$"Method {t.FullName}.{m.Name} has a parameter from FFXIVClientStructs: {param.ParameterType.FullName}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var p in t.GetProperties())
|
||||
{
|
||||
if (p.GetCustomAttribute<ObsoleteAttribute>() != null || p.GetCustomAttribute<Api14ToDoAttribute>() != null) continue;
|
||||
if (p.GetCustomAttribute<ObsoleteAttribute>() != null ||
|
||||
p.GetCustomAttribute<Api14ToDoAttribute>() != null) continue;
|
||||
if (p.GetMethod?.IsPrivate == true && p.SetMethod?.IsPrivate == true) continue;
|
||||
|
||||
if (p.PropertyType.Assembly == clientStructsAssembly)
|
||||
{
|
||||
Assert.Fail($"Property {t.FullName}.{p.Name} is a type from FFXIVClientStructs: {p.PropertyType.FullName}");
|
||||
Assert.Fail(
|
||||
$"Property {t.FullName}.{p.Name} is a type from FFXIVClientStructs: {p.PropertyType.FullName}");
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var field in t.GetFields())
|
||||
foreach (var f in t.GetFields().Where(f => f.IsPublic && !f.IsSpecialName))
|
||||
{
|
||||
if (field.GetCustomAttribute<ObsoleteAttribute>() != null || field.GetCustomAttribute<Api14ToDoAttribute>() != null) continue;
|
||||
if (field.IsPrivate) continue;
|
||||
if (f.GetCustomAttribute<ObsoleteAttribute>() != null ||
|
||||
f.GetCustomAttribute<Api14ToDoAttribute>() != null) continue;
|
||||
|
||||
if (field.FieldType.Assembly == clientStructsAssembly)
|
||||
if (f.FieldType.Assembly == clientStructsAssembly)
|
||||
{
|
||||
Assert.Fail($"Field {t.FullName}.{field.Name} is of a type from FFXIVClientStructs: {field.FieldType.FullName}");
|
||||
Assert.Fail(
|
||||
$"Field {t.FullName}.{f.Name} is of a type from FFXIVClientStructs: {f.FieldType.FullName}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue