aboutsummaryrefslogtreecommitdiff
path: root/src/app/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/api')
-rw-r--r--src/app/api/panes.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/app/api/panes.rs b/src/app/api/panes.rs
index 72798a1b..a5f1cbcb 100644
--- a/src/app/api/panes.rs
+++ b/src/app/api/panes.rs
@@ -1979,6 +1979,24 @@ mod tests {
}
#[tokio::test]
+ async fn api_pane_send_keys_encodes_shift_tab_as_backtab() {
+ let (mut app, pane_id, mut rx) = app_with_send_key_runtime(1);
+
+ let response = app.handle_api_request(crate::api::schema::Request {
+ id: "req".into(),
+ method: crate::api::schema::Method::PaneSendKeys(PaneSendKeysParams {
+ pane_id,
+ keys: vec!["shift+tab".into()],
+ }),
+ });
+
+ let success: SuccessResponse = serde_json::from_str(&response).unwrap();
+ assert_eq!(success.result, ResponseResult::Ok {});
+ assert_eq!(rx.try_recv().unwrap(), bytes::Bytes::from_static(b"\x1b[Z"));
+ assert!(rx.try_recv().is_err());
+ }
+
+ #[tokio::test]
async fn api_pane_get_exposes_scroll_metrics() {
let (mut app, public_pane_id, pane_id) = app_with_scrollback_runtime();
let runtime = app