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/pane/terminal/windows_recent_fallback.rs | |
| parent | 90e947a6e26e02f10ec7f1694c4eb5b78a86406b (diff) | |
chore: upgrade libghostty and preserve terminal behavior (#3906)
Diffstat (limited to 'src/pane/terminal/windows_recent_fallback.rs')
| -rw-r--r-- | src/pane/terminal/windows_recent_fallback.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/pane/terminal/windows_recent_fallback.rs b/src/pane/terminal/windows_recent_fallback.rs index efb58b49..7f632c08 100644 --- a/src/pane/terminal/windows_recent_fallback.rs +++ b/src/pane/terminal/windows_recent_fallback.rs @@ -346,6 +346,20 @@ mod tests { #[test] fn deferred_repaint_survives_real_scrollback_pruning() { + assert_deferred_repaint_survives_real_scrollback_pruning(None); + } + + #[test] + fn deferred_repaint_survives_real_scrollback_pruning_resize_rows() { + assert_deferred_repaint_survives_real_scrollback_pruning(Some((2, 40))); + } + + #[test] + fn deferred_repaint_survives_real_scrollback_pruning_resize_both_axes() { + assert_deferred_repaint_survives_real_scrollback_pruning(Some((2, 20))); + } + + fn assert_deferred_repaint_survives_real_scrollback_pruning(resize: Option<(u16, u16)>) { let (tx, _rx) = mpsc::channel(4); let terminal = crate::ghostty::Terminal::new(40, 1, 1).unwrap(); let pane = GhosttyPaneTerminal::new(terminal, tx.clone()).unwrap(); @@ -387,6 +401,9 @@ mod tests { .collect::<String>(); pane.process_pty_bytes(pane_id, 0, batch.as_bytes(), &tx); assert_eq!(state(), (before, true)); + if let Some((rows, cols)) = resize { + pane.resize(rows, cols, 8, 16); + } let mut core = pane.core.lock().unwrap(); let fallback = super::super::finish_recent_snapshot(&mut core, String::new(), CACHE_LINES, false); |
