fix: bind script PXP-OA planning to command document

This commit is contained in:
codex
2026-08-04 14:19:20 +03:00
parent 8a9f95a605
commit 3cecee4777
2 changed files with 6 additions and 1 deletions
@@ -73,7 +73,11 @@ public sealed class EntryPoint : IExtensionApplication
document = AcadApplication.DocumentManager.MdiActiveDocument; document = AcadApplication.DocumentManager.MdiActiveDocument;
var mode = ParseMode(RuntimeDiagnostics.RuntimeMode); var mode = ParseMode(RuntimeDiagnostics.RuntimeMode);
var context = new PlantRuntimeContextReader().ReadCurrentContext(); // Script-driven commands can run while Plant's implicit current
// document lags behind MDI activation. Bind the planner to the
// command document captured above, which is also the observer's
// fixture identity.
var context = new PlantRuntimeContextReader().ReadCurrentContext(document);
var details = new Dictionary<string, object?> var details = new Dictionary<string, object?>
{ {
["ExecutionMode"] = mode.ToString(), ["ExecutionMode"] = mode.ToString(),
@@ -33,4 +33,5 @@ public sealed class PxpOaRegistrationTests
[Fact] public void Observer_DoesNotUseManagedDocumentReferenceAsAcceptance() => Assert.DoesNotContain("ReferenceEquals(sender, fixture)", Observer); [Fact] public void Observer_DoesNotUseManagedDocumentReferenceAsAcceptance() => Assert.DoesNotContain("ReferenceEquals(sender, fixture)", Observer);
[Fact] public void Observer_RecordsExactlyTwoSequentialRuns() => Assert.Contains("runs.Count < 2", Observer); [Fact] public void Observer_RecordsExactlyTwoSequentialRuns() => Assert.Contains("runs.Count < 2", Observer);
[Fact] public void Finalize_ReportsMissingPlanSeparatelyFromMissingRuns() => Assert.True(Observer.IndexOf("AUTOMATION_EXPECTS_EXACTLY_TWO_PXP_OA", StringComparison.Ordinal) < Observer.IndexOf("AUTOMATION_PLAN_IDS_DIFFER", StringComparison.Ordinal)); [Fact] public void Finalize_ReportsMissingPlanSeparatelyFromMissingRuns() => Assert.True(Observer.IndexOf("AUTOMATION_EXPECTS_EXACTLY_TWO_PXP_OA", StringComparison.Ordinal) < Observer.IndexOf("AUTOMATION_PLAN_IDS_DIFFER", StringComparison.Ordinal));
[Fact] public void ScriptDrivenPxpOa_BindsPlantContextToCommandDocument() => Assert.Contains("ReadCurrentContext(document)", Entry);
} }