diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-20 03:43:53 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-20 03:47:29 +0300 |
| commit | 38a3c3c5cdb31cae9dab930984d6bea115ede687 (patch) | |
| tree | 5d58c4b0fe247a3c6d28d200b9c358627a8ccd2f /src/kitty_graphics.rs | |
| parent | 433d564d03a5d319b91740b5fe1c7c6504be0a12 (diff) | |
fix: support kitty unicode placeholders
refs #136
Diffstat (limited to 'src/kitty_graphics.rs')
| -rw-r--r-- | src/kitty_graphics.rs | 34 |
1 files changed, 34 insertions, 0 deletions
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 @@ -859,6 +859,40 @@ mod tests { } #[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(); let mut placements = HashMap::new(); |
