test: classify prerequisite lanes and own Avalonia sessions
This commit is contained in:
parent
c1a905004a
commit
3684e7b5e7
113 changed files with 273 additions and 22 deletions
|
|
@ -131,6 +131,7 @@ public sealed class AppCredentialResolverTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "Linux")]
|
||||
public void LinuxRejectsGroupOrOtherCredentialPermissions()
|
||||
{
|
||||
if (!OperatingSystem.IsLinux())
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// is resolving Setup/GfxObj/Surface/Animation dat data that
|
||||
/// <see cref="DollEntityBuilder"/> receives pre-resolved).
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class ChargenPreviewEntityBuilderTests
|
||||
{
|
||||
private readonly ITestOutputHelper _out;
|
||||
|
|
|
|||
|
|
@ -198,6 +198,7 @@ public class CornerFloodReplayTests
|
|||
/// exact gate that flips.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void Diagnostic_TraceGoodVsGlitchStep()
|
||||
{
|
||||
var datDir = ResolveDatDir();
|
||||
|
|
@ -266,6 +267,7 @@ public class CornerFloodReplayTests
|
|||
/// transition background strobe). Guards the ApplyReciprocalClip pipeline.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void CornerSweep_FloodIsCompleteAndMonotone()
|
||||
{
|
||||
var datDir = ResolveDatDir();
|
||||
|
|
@ -363,6 +365,7 @@ public class CornerFloodReplayTests
|
|||
/// the tripwire count stays 0.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void PortalPlaneCrossings_InPlacePropagationConverges()
|
||||
{
|
||||
var datDir = ResolveDatDir();
|
||||
|
|
@ -433,6 +436,7 @@ public class CornerFloodReplayTests
|
|||
/// stays 0 across every Build.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void InCellDirectionSweep_InPlacePropagationConverges()
|
||||
{
|
||||
var datDir = ResolveDatDir();
|
||||
|
|
@ -495,6 +499,7 @@ public class CornerFloodReplayTests
|
|||
/// the collapsing intersection.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void Diagnostic_Hop2Microscope()
|
||||
{
|
||||
var datDir = ResolveDatDir();
|
||||
|
|
@ -625,6 +630,7 @@ public class CornerFloodReplayTests
|
|||
/// 0171/0173 — the screen area where the player stands then shows background.
|
||||
/// </summary>
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void Diagnostic_CornerPress_FloodAcrossDoorwayPlane()
|
||||
{
|
||||
var datDir = ResolveDatDir();
|
||||
|
|
|
|||
|
|
@ -119,6 +119,7 @@ public sealed class FramePacingControllerTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "Windows")]
|
||||
public void Windows_high_resolution_timer_arms_and_disposes_its_handle()
|
||||
{
|
||||
if (!OperatingSystem.IsWindowsVersionAtLeast(10, 0, 17134))
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// OutsideView ⇒ outdoor dynamics trivially cone-pass).
|
||||
/// </summary>
|
||||
[Collection(CameraDiagnosticsCollection.Name)]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class HouseExitWalkReplayTests
|
||||
{
|
||||
private readonly ITestOutputHelper _out;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// iterated the dictionary and drew the "phantom staircase". These pins hold
|
||||
/// ObjectMeshManager.CollectDrawingBspPolygonIds to the dat facts.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class Issue113DrawingBspFilterTests
|
||||
{
|
||||
private readonly ITestOutputHelper _out;
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// production assembler from the user's click-time viewpoint and pins which
|
||||
/// hall cells draw and with what clip.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class Issue113MeetingHallFloodTests
|
||||
{
|
||||
private readonly ITestOutputHelper _out;
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// contained polygons, which makes union growth strictly area-increasing and
|
||||
/// the flood convergent regardless of clip-numerics drift.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class Issue120ReciprocalPingPongTests
|
||||
{
|
||||
private readonly ITestOutputHelper _out;
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// seedRegion parameter — the port of that installed-view clip — against the
|
||||
/// real Holtburg corner-building door.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class Issue124LookInSeedRegionTests
|
||||
{
|
||||
private readonly ITestOutputHelper _out;
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// cut). Fixed by the conservative NdcScissorRect bound; the assertions below
|
||||
/// pin both properties.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class Issue130DoorwayStripTests
|
||||
{
|
||||
private readonly ITestOutputHelper _out;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// translucent swirl; lamp posts / creatures / signs identify by part shape.
|
||||
/// </summary>
|
||||
[Trait("Purpose", "Diagnostic")]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class Issue131SetupProbeTests
|
||||
{
|
||||
private readonly ITestOutputHelper _out;
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// D. #176 walk — eye tracks down the corridor across two seams, gaze
|
||||
/// locked +X: per-step admitted-set diffs (drop-for-one-step churn).
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class Issue176177FacilityHubFloodReplayTests
|
||||
{
|
||||
private const uint FacilityHub = 0x8A020000u;
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// admitted, the flood is exonerated and the artifact lives downstream.
|
||||
/// </summary>
|
||||
[Collection(CameraDiagnosticsCollection.Name)]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class Issue177StairDescentCameraFloodTests
|
||||
{
|
||||
private const uint FacilityHub = 0x8A020000u;
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// axis; ANY admitted-set difference at sub-mm perturbation is the #181
|
||||
/// instability, and the symmetric difference names the flapping cell.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class Issue181VisFlapReplayTests
|
||||
{
|
||||
private const uint FacilityHub = 0x8A020000u;
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// </summary>
|
||||
[Collection(CameraDiagnosticsCollection.Name)]
|
||||
[Trait("Purpose", "Diagnostic")]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class Issue181WallPressEquilibriumTests
|
||||
{
|
||||
private const uint FacilityHubLandblock = 0x8A020000u;
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
/// root's stab_list size (<see cref="LoadedCell.VisibleCells"/>), plus how many visited cells
|
||||
/// cross landblocks. The single assertion just guarantees the test ran; the VALUE is the output.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class Issue95DungeonFloodDiagnosticTests
|
||||
{
|
||||
private const uint TownNetwork = 0x00070000u;
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ public sealed class LinuxMonotonicFramePacingWaiterTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "Linux")]
|
||||
public void LinuxWaitBlocksUntilRequestedMonotonicDeadline()
|
||||
{
|
||||
if (!OperatingSystem.IsLinux())
|
||||
|
|
@ -70,6 +71,7 @@ public sealed class LinuxMonotonicFramePacingWaiterTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "Linux")]
|
||||
public void LinuxWaiterRejectsUseAfterDisposal()
|
||||
{
|
||||
if (!OperatingSystem.IsLinux())
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ public sealed class PortalTunnelAssetTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void InstalledDat_ResolvesRetailPortalSetupAndAnimation()
|
||||
{
|
||||
string? datDir = ResolveDatDir();
|
||||
|
|
|
|||
|
|
@ -206,6 +206,7 @@ public sealed class RetailParticleGeometryClassifierTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void InstalledArmorSelfShieldPieces_areModeOneMeshesWithAuthoredApexFaces()
|
||||
{
|
||||
string? datDir = ResolveDatDir();
|
||||
|
|
@ -264,6 +265,7 @@ public sealed class RetailParticleGeometryClassifierTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void InstalledHumanEffectTable_MapsPortalVisibilityScripts()
|
||||
{
|
||||
string? datDir = ResolveDatDir();
|
||||
|
|
@ -278,6 +280,7 @@ public sealed class RetailParticleGeometryClassifierTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void InstalledAerlintheSwarmEmitter_UsesItsHardwareGfxDegradeDistance()
|
||||
{
|
||||
string? datDir = ResolveDatDir();
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ namespace AcDream.App.Tests.Rendering;
|
|||
public sealed class RetailSelectionAssetTests
|
||||
{
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void InstalledDat_ResolvesAllTwelveVividTargetImages()
|
||||
{
|
||||
string datDir = ResolveDatDir();
|
||||
|
|
@ -58,6 +59,7 @@ public sealed class RetailSelectionAssetTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void DoorSelectionGeometry_UsesDrawingBspRootSphereAndDatPolygonOrder()
|
||||
{
|
||||
const uint doorGfxObjId = 0x010044B5u;
|
||||
|
|
|
|||
|
|
@ -318,6 +318,7 @@ public sealed class LandblockBuildFactoryTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "PreparedPackage")]
|
||||
public void InstalledDatNearBuild_IsDeterministicAndClosesEntityPhysicsPayload()
|
||||
{
|
||||
string? datDirectory = ResolveDatDirectory();
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@ public class IconComposerTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void ResolveUnderlayDid_goldenValues_matchDat()
|
||||
{
|
||||
var datDir = ResolveDatDir();
|
||||
|
|
@ -103,6 +104,7 @@ public class IconComposerTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void ResolveEffectDid_goldenValues_matchDat()
|
||||
{
|
||||
var datDir = ResolveDatDir();
|
||||
|
|
@ -128,6 +130,7 @@ public class IconComposerTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void TryGetEffectTile_noEffectBlack_magicalTextured()
|
||||
{
|
||||
var datDir = ResolveDatDir();
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ using Xunit;
|
|||
|
||||
namespace AcDream.App.Tests.UI.Layout;
|
||||
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class CharacterLayoutImportProbe
|
||||
{
|
||||
private const uint CharacterLayout = 0x2100002Eu;
|
||||
|
|
|
|||
|
|
@ -54,6 +54,7 @@ namespace AcDream.App.Tests.UI.Layout;
|
|||
/// see its own class doc) are unaffected.
|
||||
/// </para>
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class ChatIndicatorButtonLiveMountProbeTests
|
||||
{
|
||||
[Fact]
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ namespace AcDream.App.Tests.UI.Layout;
|
|||
public sealed class ChatOptionsDatDefaultsTests
|
||||
{
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void InstalledDat_ResolvesTheByteVerifiedSliderDefaults()
|
||||
{
|
||||
string datDir = ResolveDatDir();
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ namespace AcDream.App.Tests.UI.Layout;
|
|||
/// and 0x10000263 (swear-allegiance button). Env-gated like the other probes.
|
||||
/// </summary>
|
||||
[Trait("Purpose", "Diagnostic")]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class FaPanelSlotProbeTests
|
||||
{
|
||||
[Fact]
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ namespace AcDream.App.Tests.UI.Layout;
|
|||
/// backdrop (ZLevel 100 → ≈ −1,000,000), and the backdrop washed out the panels' captions,
|
||||
/// burden meter, and item cells. Skips when the live dat directory is absent (CI).
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class InventoryFrameImportProbe
|
||||
{
|
||||
private const uint Frame = 0x21000023u;
|
||||
|
|
|
|||
|
|
@ -749,6 +749,7 @@ public sealed class ItemAppraisalTextFormatterTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void EndOfRetailDatNameResolver_LoadsMaterialAndCreatureNames()
|
||||
{
|
||||
string? datDirectory = ResolveDatDirectory();
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ namespace AcDream.App.Tests.UI.Layout;
|
|||
/// square 0x060074CF. Also PRINTS the resolved ids — the "pin the exact asset" record.
|
||||
/// Skips when the live dat directory is absent (CI).
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public class ItemListCellTemplateTests
|
||||
{
|
||||
private const uint Generic = 0x060074CFu; // generic toolbar-shortcut empty square (the bug)
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ namespace AcDream.App.Tests.UI.Layout;
|
|||
/// rect + caption evidence for each observation. Env-gated like the other
|
||||
/// live probes so CI/dat-less runs skip it.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class KeyboardConfigLiveMountProbeTests
|
||||
{
|
||||
[Fact]
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ namespace AcDream.App.Tests.UI.Layout;
|
|||
/// </para>
|
||||
/// </summary>
|
||||
[Trait("Purpose", "Diagnostic")]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class MapHousePanelSlotProbeTests
|
||||
{
|
||||
private const uint HostLayoutId = 0x2100006Eu;
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ namespace AcDream.App.Tests.UI.Layout;
|
|||
/// page controller actually resolves. Env-gated like the fixture
|
||||
/// generator so CI/dat-less runs skip it.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class OptionsPanelLiveMountProbeTests
|
||||
{
|
||||
[Fact]
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ public sealed class PaperdollClickMapTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void LiveDat_resolvesRetailClickMapAndAllNineBodyRegions()
|
||||
{
|
||||
string datDir = Environment.GetEnvironmentVariable("ACDREAM_DAT_DIR")
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ public class PaperdollSlotBackgroundTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void Live_dat_resolves_all_pinned_retail_backgrounds()
|
||||
{
|
||||
string datDir = Environment.GetEnvironmentVariable("ACDREAM_DAT_DIR")
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ namespace AcDream.App.Tests.UI.Layout;
|
|||
/// INSTALLED DAT, so the "Height"/"Power"/"Accuracy" fix binds exactly what
|
||||
/// retail authors instead of guessing.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class PowerbarLayoutProbeTests
|
||||
{
|
||||
[Fact]
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ namespace AcDream.App.Tests.UI.Layout;
|
|||
/// its button→page pairing + default entry can be recorded — coordinator
|
||||
/// addendum, docs/research/2026-08-11-fa-panel-structure.md §10.
|
||||
/// </summary>
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class SocialPanelLiveMountProbeTests
|
||||
{
|
||||
[Fact]
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ using DatReaderWriter.Options;
|
|||
|
||||
namespace AcDream.App.Tests.UI.Layout;
|
||||
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class SpellbookRowStyleTests
|
||||
{
|
||||
[Fact]
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ public sealed class RetailCursorCatalogTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void WindowControlCursorSpecs_resolveGoldenDatSurfaces()
|
||||
{
|
||||
string? datDir = ResolveDatDir();
|
||||
|
|
@ -82,6 +83,7 @@ public sealed class RetailCursorCatalogTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void ReachableGlobalCursorSpecs_resolveGoldenDatSurfaces()
|
||||
{
|
||||
string? datDir = ResolveDatDir();
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@ namespace AcDream.App.Tests.UI;
|
|||
/// </para>
|
||||
/// </summary>
|
||||
[Trait("Purpose", "Diagnostic")]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public sealed class SpewBoxLayoutDumpDiagnostic
|
||||
{
|
||||
private readonly ITestOutputHelper _out;
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ public sealed class UiDatFontBorderPixelTests
|
|||
[InlineData(0x40000001u, 4u, 4u)] // 18px bold serif — SpewBox face (round 4)
|
||||
[InlineData(0x40000002u, 3u, 3u)] // 14px bold serif
|
||||
[InlineData(0x40000025u, 3u, 3u)] // 11px — the pre-round-4 SpewBox placeholder face
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void RealDatFont_HasExpectedBorderPixels(uint fontId, uint expectedHorizontal, uint expectedVertical)
|
||||
{
|
||||
string? datDir = ResolveDatDir();
|
||||
|
|
@ -49,6 +50,7 @@ public sealed class UiDatFontBorderPixelTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void RealDatFont_EveryFontWithABackgroundAtlas_HasANonZeroBorder()
|
||||
{
|
||||
// docs/research/2026-08-10-retail-ui-text-style.md §1.2: "every font that
|
||||
|
|
|
|||
|
|
@ -237,6 +237,7 @@ public sealed class UiRenderContextAlphaTests
|
|||
// -- DrawString (BitmapFont path): the same alpha chokepoint, guarded ---
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "SystemFont")]
|
||||
public void FullOpacity_DrawString_BitmapFontPath_MatchesRequestedAlpha_Identity()
|
||||
{
|
||||
// CH6c review NIT: DrawStringDat (retail dat-font glyphs) had its own
|
||||
|
|
@ -258,6 +259,7 @@ public sealed class UiRenderContextAlphaTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "SystemFont")]
|
||||
public void HalfOpacityWindow_MultipliesBitmapFontGlyphAlpha()
|
||||
{
|
||||
var device = new RecordingGpuDevice();
|
||||
|
|
|
|||
|
|
@ -145,6 +145,7 @@ public sealed class LiveEntityPresentationControllerTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void SpellRecall_HiddenAndUnHide_RetireMagicTimelineThroughController()
|
||||
{
|
||||
const uint humanSetup = 0x02000001u;
|
||||
|
|
|
|||
|
|
@ -185,6 +185,7 @@ public sealed class RecallTeleportAnimationTests
|
|||
}
|
||||
|
||||
[Fact]
|
||||
[Trait("Lane", "InstalledDat")]
|
||||
public void InstalledRecall_HiddenEnterWorldPublishesFinishedCyclicPoseWithoutAdvancingTime()
|
||||
{
|
||||
string datDir = @"C:\Turbine\Asheron's Call";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue