test(panel): Q5 names the successor frame it orders against
`!messages.is_empty()` could be satisfied by any unrelated semantic message, so the row asserted an ordering against a frame it never confirmed was there. It now requires the unwritten messages to contain InstanceMessage::PanelFrame(PanelFramePayload::Absent) --- the successor frame whose own transition raised the release. The assertion bites: suppressing that payload while keeping the cancellation fails the row, where the emptiness check would not have noticed. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016bqGA6s9tTUFzYpbeW3tai
This commit is contained in:
parent
85946bf9b6
commit
6142acc203
|
|
@ -8813,9 +8813,16 @@ mod tests {
|
|||
merely both arriving"
|
||||
);
|
||||
assert!(
|
||||
!messages.is_empty(),
|
||||
"fixture: projection really did produce the successor frame \
|
||||
whose own transition required that release"
|
||||
messages.iter().any(|message| matches!(
|
||||
message,
|
||||
InstanceMessage::PanelFrame(pmacs_protocol::panel::PanelFramePayload::Absent)
|
||||
)),
|
||||
"fixture: the unwritten messages must contain THE SUCCESSOR \
|
||||
FRAME --- the `Absent` payload whose own transition raised \
|
||||
the release. A non-empty vec proves nothing: any unrelated \
|
||||
semantic message would satisfy it, and the row would then \
|
||||
assert an ordering against a frame that was never there. \
|
||||
Got {messages:?}"
|
||||
);
|
||||
assert!(
|
||||
!states[&fid].has_pending_release(),
|
||||
|
|
|
|||
Loading…
Reference in New Issue