aboutsummaryrefslogtreecommitdiff
path: root/src/app
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-05-29 19:48:55 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-05-29 19:48:55 +0300
commit77242943ba65a80cbc1180258dd64f06635233f9 (patch)
treeaf094d9f591f7886578e109fc9820d7516a17b1a /src/app
parent324e625c60658ab0de46928be300fc1804af48df (diff)
fix: keep split host color replies out of panes
refs #344 refs #279
Diffstat (limited to 'src/app')
-rw-r--r--src/app/mod.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/app/mod.rs b/src/app/mod.rs
index 07f979c0..1291d2a0 100644
--- a/src/app/mod.rs
+++ b/src/app/mod.rs
@@ -3363,6 +3363,23 @@ last_pane = "prefix+tab"
);
}
+ #[tokio::test]
+ async fn route_client_input_does_not_forward_incomplete_osc_introducer_to_pane() {
+ let mut app = test_app();
+ let mut workspace = Workspace::test_new("test");
+ let focused = workspace.focused_pane_id().unwrap();
+ let (runtime, mut rx) = TerminalRuntime::test_with_channel_capacity(80, 24, 1);
+ workspace.tabs[0].runtimes.insert(focused, runtime);
+ app.state.workspaces = vec![workspace];
+ app.state.active = Some(0);
+ app.state.selected = 0;
+ app.state.mode = Mode::Terminal;
+
+ app.route_client_input(b"\x1b]".to_vec());
+
+ assert!(rx.try_recv().is_err());
+ }
+
#[test]
fn parse_raw_input_bytes_with_ranges_tracks_offsets() {
// Verify that the range-aware parser correctly tracks byte offsets