diff options
| author | Can Celik <ogulcancelik@gmail.com> | 2026-09-10 21:51:57 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-09-10 21:51:57 +0300 |
| commit | 425c86179791cd32e2d4ce0ae7f269940b4b0663 (patch) | |
| tree | e52c4383a6d69216cbe2a32638bf90841d7e2189 /src/server | |
| parent | 90e947a6e26e02f10ec7f1694c4eb5b78a86406b (diff) | |
chore: upgrade libghostty and preserve terminal behavior (#3906)
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/headless/tests/pane_graphics.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/server/headless/tests/pane_graphics.rs b/src/server/headless/tests/pane_graphics.rs index f8637e8f..0414b6b3 100644 --- a/src/server/headless/tests/pane_graphics.rs +++ b/src/server/headless/tests/pane_graphics.rs @@ -221,13 +221,26 @@ async fn retained_unicode_image_arrives_after_fragmented_upload_without_reupload }; assert_eq!(surface.graphics.placements.len(), 1); assert_eq!(surface.graphics.assets[0].data, [255, 0, 0, 255]); - // Replacing pixels under the same image ID must invalidate the delivered asset. + // Retransmission removes placements; recreating the virtual placement must + // invalidate the delivered asset without needing another text update. write_shared_test_pane( &mut server, pane_id, b"\x1b_Ga=t,f=32,t=d,i=1193046,s=1,v=1,q=2;AP8A/w==\x1b\\", ); assert!(server.render_retained_pane_surface_and_stream(&sources)); + let ServerMessage::PaneSurface(removed) = + read_server_message(receive_render(&client_rx, Duration::from_millis(100))) + else { + panic!("retransmission must remove the virtual placement"); + }; + assert!(removed.graphics.placements.is_empty()); + write_shared_test_pane( + &mut server, + pane_id, + b"\x1b_Ga=p,U=1,i=1193046,c=1,r=1,q=2\x1b\\", + ); + assert!(server.render_retained_pane_surface_and_stream(&sources)); let ServerMessage::PaneSurface(replaced) = read_server_message(receive_render(&client_rx, Duration::from_millis(100))) else { |
