feat: consolidate legacy parity migration baseline

This commit is contained in:
2026-07-20 22:06:12 +09:00
parent 5eb4054120
commit 4a54977341
66 changed files with 5391 additions and 460 deletions

View File

@@ -72,6 +72,49 @@ public sealed class LegacyPlayoutNativeContractTests
Assert.Contains("WaitForPlayCompletionAsync", Playout, StringComparison.Ordinal);
}
[Fact]
public void PlayoutIntentsWaitBehindEarlierUiWorkWithoutQueuingDuplicates()
{
var process = Normalize(Slice(
Window,
"private async Task ProcessIntentAsync(LegacyUiIntent intent)",
"private static bool IsOrderedPlayoutIntent"));
var classifier = Slice(
Window,
"private static bool IsOrderedPlayoutIntent",
"private static bool IsNamedPlaylistModalIntent");
var admission = RequiredIndex(
process,
"_orderedPlayoutIntentGate.WaitAsync(");
var orderedWait = RequiredIndex(
process,
"await _intentGate.WaitAsync(_lifetimeCancellation.Token)",
admission);
var zeroTimeoutWait = RequiredIndex(
process,
"gateEntered = await _intentGate.WaitAsync(\n 0,",
orderedWait);
var intentRelease = RequiredIndex(process, "_intentGate.Release();", zeroTimeoutWait);
var admissionRelease = RequiredIndex(
process,
"_orderedPlayoutIntentGate.Release();",
intentRelease);
Assert.True(admission < orderedWait);
Assert.True(orderedWait < zeroTimeoutWait);
Assert.True(zeroTimeoutWait < intentRelease);
Assert.True(intentRelease < admissionRelease);
Assert.Contains("if (orderedPlayoutIntentEntered)", process,
StringComparison.Ordinal);
Assert.Contains("LegacyExecutePlayoutIntent", classifier,
StringComparison.Ordinal);
Assert.Contains("LegacyGateAPrepareIntent", classifier,
StringComparison.Ordinal);
Assert.Contains("_lifetimeCancellation.Token", process,
StringComparison.Ordinal);
}
[Fact]
public void AutomaticRefreshUsesTheCoreSchedulerAndGenerationOwnedState()
{
@@ -291,7 +334,7 @@ public sealed class LegacyPlayoutNativeContractTests
}
[Fact]
public void PreparedProgramAndUnknownWriteOutcomesBlockOperatorMutations()
public void PreparedProgramBlocksCutAppendButAllowsPureCutSelection()
{
Assert.Contains("CanAcceptOperatorMutation()", Window, StringComparison.Ordinal);
Assert.Contains("IsOperatorMutationQuarantined()", Window,
@@ -308,9 +351,17 @@ public sealed class LegacyPlayoutNativeContractTests
StringComparison.Ordinal);
Assert.Contains("LegacyConfirmManualListIntent", Playout,
StringComparison.Ordinal);
Assert.Contains("LegacyCutPointerDownIntent", Playout,
var mutationClassifier = Slice(
Playout,
"private static bool IsOperatorMutationIntent",
"private static bool IsFixedSectionBatchMutationIntent");
Assert.Contains("LegacyCutPointerDownIntent { AllowAppend: true }", mutationClassifier,
StringComparison.Ordinal);
Assert.Contains("LegacyClearCutSelectionIntent", Playout,
Assert.DoesNotContain("LegacyCutKeyDownIntent", mutationClassifier,
StringComparison.Ordinal);
Assert.DoesNotContain("LegacyClearCutSelectionIntent", mutationClassifier,
StringComparison.Ordinal);
Assert.Contains("pointer.AllowAppend", Window,
StringComparison.Ordinal);
}