From 38a3c3c5cdb31cae9dab930984d6bea115ede687 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Wed, 20 May 2026 03:43:53 +0300 Subject: fix: support kitty unicode placeholders refs #136 --- src/kitty_graphics.rs | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'src/kitty_graphics.rs') diff --git a/src/kitty_graphics.rs b/src/kitty_graphics.rs index 47aba364..857bd241 100644 --- a/src/kitty_graphics.rs +++ b/src/kitty_graphics.rs @@ -858,6 +858,40 @@ mod tests { assert_eq!(placements.len(), 1); } + #[test] + fn surface_reset_deletes_then_reuploads_and_redisplays_placement() { + let mut cache = HostGraphicsCache::default(); + let mut bytes = Vec::new(); + let placement = test_placement(0, 0); + + encode_graphics_update( + &mut bytes, + &[placement], + false, + &mut cache.images, + &mut cache.placements, + ); + assert_eq!(cache.images.len(), 1); + assert_eq!(cache.placements.len(), 1); + + bytes = cache.clear_bytes(); + let same = test_placement(0, 0); + encode_graphics_update( + &mut bytes, + &[same], + false, + &mut cache.images, + &mut cache.placements, + ); + + let redisplay = String::from_utf8_lossy(&bytes); + assert!(redisplay.contains("a=d,d=I")); + assert!(redisplay.contains("a=t")); + assert!(redisplay.contains("a=p")); + assert_eq!(cache.images.len(), 1); + assert_eq!(cache.placements.len(), 1); + } + #[test] fn scrollback_offset_change_redisplays_placement() { let mut images = HashMap::new(); -- cgit v1.2.3