aboutsummaryrefslogtreecommitdiff
path: root/src/kitty_graphics.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-20 03:43:53 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-20 03:47:29 +0300
commit38a3c3c5cdb31cae9dab930984d6bea115ede687 (patch)
tree5d58c4b0fe247a3c6d28d200b9c358627a8ccd2f /src/kitty_graphics.rs
parent433d564d03a5d319b91740b5fe1c7c6504be0a12 (diff)
fix: support kitty unicode placeholders
refs #136
Diffstat (limited to 'src/kitty_graphics.rs')
-rw-r--r--src/kitty_graphics.rs34
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();