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"
|
merely both arriving"
|
||||||
);
|
);
|
||||||
assert!(
|
assert!(
|
||||||
!messages.is_empty(),
|
messages.iter().any(|message| matches!(
|
||||||
"fixture: projection really did produce the successor frame \
|
message,
|
||||||
whose own transition required that release"
|
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!(
|
assert!(
|
||||||
!states[&fid].has_pending_release(),
|
!states[&fid].has_pending_release(),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue