diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-29 19:48:55 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-05-29 19:48:55 +0300 |
| commit | 77242943ba65a80cbc1180258dd64f06635233f9 (patch) | |
| tree | af094d9f591f7886578e109fc9820d7516a17b1a /src/app/mod.rs | |
| parent | 324e625c60658ab0de46928be300fc1804af48df (diff) | |
fix: keep split host color replies out of panes
refs #344
refs #279
Diffstat (limited to 'src/app/mod.rs')
| -rw-r--r-- | src/app/mod.rs | 17 |
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 |
