aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2021-02-09 17:36:37 +0100
committerGitHub <noreply@github.com>2021-02-09 17:36:37 +0100
commit14783c2b2c3bcd3b4b01e72c46d6af3ecbdd203c (patch)
tree7e25be8c93e85ec9fc03335f1993f319f713c614 /src/tests
parentMerge pull request #158 from mosaic-org/add-files (diff)
downloadsl0ppij-14783c2b2c3bcd3b4b01e72c46d6af3ecbdd203c.tar.gz
sl0ppij-14783c2b2c3bcd3b4b01e72c46d6af3ecbdd203c.tar.xz
sl0ppij-14783c2b2c3bcd3b4b01e72c46d6af3ecbdd203c.zip
feat(ui): new keybindings and status bar (#160)
* work * feat(statusbar): new design and keybindings * fix(ipc): add missing const * style(fmt): rustfmt * style(input): remove accidental comment
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/integration/basic.rs75
-rw-r--r--src/tests/integration/close_pane.rs298
-rw-r--r--src/tests/integration/move_focus_down.rs21
-rw-r--r--src/tests/integration/move_focus_left.rs21
-rw-r--r--src/tests/integration/move_focus_right.rs21
-rw-r--r--src/tests/integration/move_focus_up.rs21
-rw-r--r--src/tests/integration/resize_down.rs321
-rw-r--r--src/tests/integration/resize_left.rs320
-rw-r--r--src/tests/integration/resize_right.rs321
-rw-r--r--src/tests/integration/resize_up.rs320
-rw-r--r--src/tests/integration/snapshots/mosaic__tests__integration__tabs__close_the_tab_that_has_a_pane_in_fullscreen.snap20
-rw-r--r--src/tests/integration/tabs.rs130
-rw-r--r--src/tests/integration/toggle_fullscreen.rs18
-rw-r--r--src/tests/utils.rs75
14 files changed, 1234 insertions, 748 deletions
diff --git a/src/tests/integration/basic.rs b/src/tests/integration/basic.rs
index a48871a1..226b08f3 100644
--- a/src/tests/integration/basic.rs
+++ b/src/tests/integration/basic.rs
@@ -3,8 +3,9 @@ use ::insta::assert_snapshot;
use crate::tests::fakes::FakeInputOutput;
use crate::tests::utils::commands::{
- COMMAND_TOGGLE, QUIT, SCROLL_DOWN, SCROLL_UP, SPAWN_TERMINAL, SPLIT_HORIZONTALLY,
- SPLIT_VERTICALLY, TOGGLE_ACTIVE_TERMINAL_FULLSCREEN,
+ COMMAND_TOGGLE, ESC, PANE_MODE, QUIT, SCROLL_DOWN_IN_SCROLL_MODE, SCROLL_MODE,
+ SCROLL_UP_IN_SCROLL_MODE, SPAWN_TERMINAL_IN_PANE_MODE, SPLIT_DOWN_IN_PANE_MODE,
+ SPLIT_RIGHT_IN_PANE_MODE, TOGGLE_ACTIVE_TERMINAL_FULLSCREEN_IN_PANE_MODE,
};
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
use crate::{start, CliArgs};
@@ -47,7 +48,8 @@ pub fn split_terminals_vertically() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -74,7 +76,8 @@ pub fn split_terminals_horizontally() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -102,9 +105,10 @@ pub fn split_largest_terminal() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPAWN_TERMINAL,
- &SPAWN_TERMINAL,
- &SPAWN_TERMINAL,
+ &PANE_MODE,
+ &SPAWN_TERMINAL_IN_PANE_MODE,
+ &SPAWN_TERMINAL_IN_PANE_MODE,
+ &SPAWN_TERMINAL_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -131,7 +135,8 @@ pub fn cannot_split_terminals_vertically_when_active_terminal_is_too_small() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -158,7 +163,8 @@ pub fn cannot_split_terminals_horizontally_when_active_terminal_is_too_small() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -185,7 +191,8 @@ pub fn cannot_split_largest_terminal_when_there_is_no_room() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPAWN_TERMINAL,
+ &PANE_MODE,
+ &SPAWN_TERMINAL_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -212,10 +219,15 @@ pub fn scrolling_up_inside_a_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &SCROLL_UP,
- &SCROLL_UP,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &SCROLL_MODE,
+ &SCROLL_UP_IN_SCROLL_MODE,
+ &SCROLL_UP_IN_SCROLL_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -242,12 +254,17 @@ pub fn scrolling_down_inside_a_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &SCROLL_UP,
- &SCROLL_UP,
- &SCROLL_DOWN,
- &SCROLL_DOWN,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &SCROLL_MODE,
+ &SCROLL_UP_IN_SCROLL_MODE,
+ &SCROLL_UP_IN_SCROLL_MODE,
+ &SCROLL_DOWN_IN_SCROLL_MODE,
+ &SCROLL_DOWN_IN_SCROLL_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -276,10 +293,11 @@ pub fn max_panes() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPAWN_TERMINAL,
- &SPAWN_TERMINAL,
- &SPAWN_TERMINAL,
- &SPAWN_TERMINAL,
+ &PANE_MODE,
+ &SPAWN_TERMINAL_IN_PANE_MODE,
+ &SPAWN_TERMINAL_IN_PANE_MODE,
+ &SPAWN_TERMINAL_IN_PANE_MODE,
+ &SPAWN_TERMINAL_IN_PANE_MODE,
&QUIT,
]);
let mut opts = CliArgs::default();
@@ -308,10 +326,11 @@ pub fn toggle_focused_pane_fullscreen() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPAWN_TERMINAL,
- &SPAWN_TERMINAL,
- &SPAWN_TERMINAL,
- &TOGGLE_ACTIVE_TERMINAL_FULLSCREEN,
+ &PANE_MODE,
+ &SPAWN_TERMINAL_IN_PANE_MODE,
+ &SPAWN_TERMINAL_IN_PANE_MODE,
+ &SPAWN_TERMINAL_IN_PANE_MODE,
+ &TOGGLE_ACTIVE_TERMINAL_FULLSCREEN_IN_PANE_MODE,
&QUIT,
]);
let mut opts = CliArgs::default();
diff --git a/src/tests/integration/close_pane.rs b/src/tests/integration/close_pane.rs
index e5659fdb..be60fd7c 100644
--- a/src/tests/integration/close_pane.rs
+++ b/src/tests/integration/close_pane.rs
@@ -6,8 +6,9 @@ use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots}
use crate::{start, CliArgs};
use crate::tests::utils::commands::{
- CLOSE_FOCUSED_PANE, COMMAND_TOGGLE, MOVE_FOCUS, QUIT, RESIZE_DOWN, RESIZE_LEFT, RESIZE_UP,
- SPLIT_HORIZONTALLY, SPLIT_VERTICALLY,
+ CLOSE_PANE_IN_PANE_MODE, COMMAND_TOGGLE, ESC, MOVE_FOCUS_IN_PANE_MODE, PANE_MODE, QUIT,
+ RESIZE_DOWN_IN_RESIZE_MODE, RESIZE_LEFT_IN_RESIZE_MODE, RESIZE_MODE, RESIZE_UP_IN_RESIZE_MODE,
+ SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
};
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
@@ -34,8 +35,9 @@ pub fn close_pane_with_another_pane_above_it() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -71,9 +73,10 @@ pub fn close_pane_with_another_pane_below_it() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -107,8 +110,9 @@ pub fn close_pane_with_another_pane_to_the_left() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -142,9 +146,10 @@ pub fn close_pane_with_another_pane_to_the_right() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -180,12 +185,13 @@ pub fn close_pane_with_multiple_panes_above_it() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -221,10 +227,11 @@ pub fn close_pane_with_multiple_panes_below_it() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -260,12 +267,13 @@ pub fn close_pane_with_multiple_panes_to_the_left() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -301,10 +309,11 @@ pub fn close_pane_with_multiple_panes_to_the_right() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -340,24 +349,41 @@ pub fn close_pane_with_multiple_panes_above_it_away_from_screen_edges() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &RESIZE_UP,
- &MOVE_FOCUS,
- &RESIZE_UP,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -393,24 +419,41 @@ pub fn close_pane_with_multiple_panes_below_it_away_from_screen_edges() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &RESIZE_DOWN,
- &MOVE_FOCUS,
- &RESIZE_DOWN,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -448,24 +491,41 @@ pub fn close_pane_with_multiple_panes_to_the_left_away_from_screen_edges() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &RESIZE_LEFT,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -503,24 +563,41 @@ pub fn close_pane_with_multiple_panes_to_the_right_away_from_screen_edges() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &RESIZE_LEFT,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -548,12 +625,13 @@ pub fn closing_last_pane_exits_app() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &CLOSE_FOCUSED_PANE,
- &CLOSE_FOCUSED_PANE,
- &CLOSE_FOCUSED_PANE,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
diff --git a/src/tests/integration/move_focus_down.rs b/src/tests/integration/move_focus_down.rs
index a5b423aa..639078d8 100644
--- a/src/tests/integration/move_focus_down.rs
+++ b/src/tests/integration/move_focus_down.rs
@@ -6,7 +6,8 @@ use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots}
use crate::{start, CliArgs};
use crate::tests::utils::commands::{
- COMMAND_TOGGLE, MOVE_FOCUS_DOWN, MOVE_FOCUS_UP, QUIT, SPLIT_HORIZONTALLY, SPLIT_VERTICALLY,
+ COMMAND_TOGGLE, MOVE_FOCUS_DOWN_IN_PANE_MODE, MOVE_FOCUS_UP_IN_PANE_MODE, PANE_MODE, QUIT,
+ SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
};
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
@@ -25,9 +26,10 @@ pub fn move_focus_down() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS_UP,
- &MOVE_FOCUS_DOWN,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_UP_IN_PANE_MODE,
+ &MOVE_FOCUS_DOWN_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -55,11 +57,12 @@ pub fn move_focus_down_to_the_largest_overlap() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS_UP,
- &MOVE_FOCUS_DOWN,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_UP_IN_PANE_MODE,
+ &MOVE_FOCUS_DOWN_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
diff --git a/src/tests/integration/move_focus_left.rs b/src/tests/integration/move_focus_left.rs
index 3f133557..a8e073b9 100644
--- a/src/tests/integration/move_focus_left.rs
+++ b/src/tests/integration/move_focus_left.rs
@@ -6,7 +6,8 @@ use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots}
use crate::{start, CliArgs};
use crate::tests::utils::commands::{
- COMMAND_TOGGLE, MOVE_FOCUS_LEFT, MOVE_FOCUS_RIGHT, QUIT, SPLIT_HORIZONTALLY, SPLIT_VERTICALLY,
+ COMMAND_TOGGLE, MOVE_FOCUS_LEFT_IN_PANE_MODE, MOVE_FOCUS_RIGHT_IN_PANE_MODE, PANE_MODE, QUIT,
+ SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
};
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
@@ -25,8 +26,9 @@ pub fn move_focus_left() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS_LEFT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_LEFT_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -54,12 +56,13 @@ pub fn move_focus_left_to_the_largest_overlap() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS_LEFT,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS_RIGHT,
- &MOVE_FOCUS_LEFT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_LEFT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_LEFT_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
diff --git a/src/tests/integration/move_focus_right.rs b/src/tests/integration/move_focus_right.rs
index 05065b69..72c24a9b 100644
--- a/src/tests/integration/move_focus_right.rs
+++ b/src/tests/integration/move_focus_right.rs
@@ -6,7 +6,8 @@ use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots}
use crate::{start, CliArgs};
use crate::tests::utils::commands::{
- COMMAND_TOGGLE, MOVE_FOCUS_LEFT, MOVE_FOCUS_RIGHT, QUIT, SPLIT_HORIZONTALLY, SPLIT_VERTICALLY,
+ COMMAND_TOGGLE, MOVE_FOCUS_LEFT_IN_PANE_MODE, MOVE_FOCUS_RIGHT_IN_PANE_MODE, PANE_MODE, QUIT,
+ SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
};
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
@@ -25,9 +26,10 @@ pub fn move_focus_right() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS_LEFT,
- &MOVE_FOCUS_RIGHT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_LEFT_IN_PANE_MODE,
+ &MOVE_FOCUS_RIGHT_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -55,11 +57,12 @@ pub fn move_focus_right_to_the_largest_overlap() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS_LEFT,
- &MOVE_FOCUS_RIGHT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_LEFT_IN_PANE_MODE,
+ &MOVE_FOCUS_RIGHT_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
diff --git a/src/tests/integration/move_focus_up.rs b/src/tests/integration/move_focus_up.rs
index 4944c1ca..fcfedb18 100644
--- a/src/tests/integration/move_focus_up.rs
+++ b/src/tests/integration/move_focus_up.rs
@@ -6,7 +6,8 @@ use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots}
use crate::{start, CliArgs};
use crate::tests::utils::commands::{
- COMMAND_TOGGLE, MOVE_FOCUS_DOWN, MOVE_FOCUS_UP, QUIT, SPLIT_HORIZONTALLY, SPLIT_VERTICALLY,
+ COMMAND_TOGGLE, MOVE_FOCUS_DOWN_IN_PANE_MODE, MOVE_FOCUS_UP_IN_PANE_MODE, PANE_MODE, QUIT,
+ SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
};
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
@@ -25,8 +26,9 @@ pub fn move_focus_up() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS_UP,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_UP_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -54,12 +56,13 @@ pub fn move_focus_up_to_the_largest_overlap() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS_UP,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS_DOWN,
- &MOVE_FOCUS_UP,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_UP_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_UP_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
diff --git a/src/tests/integration/resize_down.rs b/src/tests/integration/resize_down.rs
index 3b20fda8..ec0221cb 100644
--- a/src/tests/integration/resize_down.rs
+++ b/src/tests/integration/resize_down.rs
@@ -6,8 +6,8 @@ use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots}
use crate::{start, CliArgs};
use crate::tests::utils::commands::{
- COMMAND_TOGGLE, MOVE_FOCUS, QUIT, RESIZE_DOWN, RESIZE_LEFT, SPLIT_HORIZONTALLY,
- SPLIT_VERTICALLY,
+ COMMAND_TOGGLE, ESC, MOVE_FOCUS_IN_PANE_MODE, PANE_MODE, QUIT, RESIZE_DOWN_IN_RESIZE_MODE,
+ RESIZE_LEFT_IN_RESIZE_MODE, RESIZE_MODE, SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
};
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
@@ -35,8 +35,13 @@ pub fn resize_down_with_pane_above() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -72,9 +77,14 @@ pub fn resize_down_with_pane_below() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -113,11 +123,16 @@ pub fn resize_down_with_panes_above_and_below() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -154,12 +169,17 @@ pub fn resize_down_with_multiple_panes_above() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
@@ -197,14 +217,19 @@ pub fn resize_down_with_panes_above_aligned_left_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
@@ -242,13 +267,18 @@ pub fn resize_down_with_panes_below_aligned_left_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
@@ -286,11 +316,16 @@ pub fn resize_down_with_panes_above_aligned_right_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
@@ -328,12 +363,17 @@ pub fn resize_down_with_panes_below_aligned_right_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
@@ -371,15 +411,20 @@ pub fn resize_down_with_panes_above_aligned_left_and_right_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
@@ -417,17 +462,22 @@ pub fn resize_down_with_panes_below_aligned_left_and_right_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
@@ -465,32 +515,45 @@ pub fn resize_down_with_panes_above_aligned_left_and_right_with_panes_to_the_lef
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
@@ -528,34 +591,47 @@ pub fn resize_down_with_panes_below_aligned_left_and_right_with_to_the_left_and_
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
@@ -590,8 +666,13 @@ pub fn cannot_resize_down_when_pane_below_is_at_minimum_height() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &RESIZE_DOWN,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_DOWN_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
diff --git a/src/tests/integration/resize_left.rs b/src/tests/integration/resize_left.rs
index 3546ebe3..9645a4ec 100644
--- a/src/tests/integration/resize_left.rs
+++ b/src/tests/integration/resize_left.rs
@@ -6,7 +6,8 @@ use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots}
use crate::{start, CliArgs};
use crate::tests::utils::commands::{
- COMMAND_TOGGLE, MOVE_FOCUS, QUIT, RESIZE_LEFT, RESIZE_UP, SPLIT_HORIZONTALLY, SPLIT_VERTICALLY,
+ COMMAND_TOGGLE, ESC, MOVE_FOCUS_IN_PANE_MODE, PANE_MODE, QUIT, RESIZE_LEFT_IN_RESIZE_MODE,
+ RESIZE_MODE, RESIZE_UP_IN_RESIZE_MODE, SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
};
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
@@ -31,8 +32,13 @@ pub fn resize_left_with_pane_to_the_left() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -66,9 +72,14 @@ pub fn resize_left_with_pane_to_the_right() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -102,11 +113,16 @@ pub fn resize_left_with_panes_to_the_left_and_right() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -141,12 +157,17 @@ pub fn resize_left_with_multiple_panes_to_the_left() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -182,14 +203,19 @@ pub fn resize_left_with_panes_to_the_left_aligned_top_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -225,11 +251,16 @@ pub fn resize_left_with_panes_to_the_right_aligned_top_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -265,13 +296,18 @@ pub fn resize_left_with_panes_to_the_left_aligned_bottom_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -307,12 +343,17 @@ pub fn resize_left_with_panes_to_the_right_aligned_bottom_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -350,15 +391,20 @@ pub fn resize_left_with_panes_to_the_left_aligned_top_and_bottom_with_current_pa
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -396,17 +442,22 @@ pub fn resize_left_with_panes_to_the_right_aligned_top_and_bottom_with_current_p
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -444,32 +495,45 @@ pub fn resize_left_with_panes_to_the_left_aligned_top_and_bottom_with_panes_abov
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &RESIZE_UP,
- &RESIZE_UP,
- &RESIZE_UP,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_UP,
- &RESIZE_UP,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -508,34 +572,47 @@ pub fn resize_left_with_panes_to_the_right_aligned_top_and_bottom_with_panes_abo
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &RESIZE_UP,
- &RESIZE_UP,
- &RESIZE_UP,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_UP,
- &RESIZE_UP,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -570,8 +647,13 @@ pub fn cannot_resize_left_when_pane_to_the_left_is_at_minimum_width() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &RESIZE_LEFT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
diff --git a/src/tests/integration/resize_right.rs b/src/tests/integration/resize_right.rs
index 9f2c590c..cea8ecda 100644
--- a/src/tests/integration/resize_right.rs
+++ b/src/tests/integration/resize_right.rs
@@ -6,7 +6,9 @@ use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots}
use crate::{start, CliArgs};
use crate::tests::utils::commands::{
- COMMAND_TOGGLE, MOVE_FOCUS, QUIT, RESIZE_RIGHT, RESIZE_UP, SPLIT_HORIZONTALLY, SPLIT_VERTICALLY,
+ COMMAND_TOGGLE, ESC, MOVE_FOCUS_IN_PANE_MODE, PANE_MODE, QUIT, RESIZE_MODE,
+ RESIZE_RIGHT_IN_RESIZE_MODE, RESIZE_UP_IN_RESIZE_MODE, SPLIT_DOWN_IN_PANE_MODE,
+ SPLIT_RIGHT_IN_PANE_MODE,
};
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
@@ -31,8 +33,13 @@ pub fn resize_right_with_pane_to_the_left() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -66,9 +73,14 @@ pub fn resize_right_with_pane_to_the_right() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -102,11 +114,16 @@ pub fn resize_right_with_panes_to_the_left_and_right() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -141,12 +158,17 @@ pub fn resize_right_with_multiple_panes_to_the_left() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -182,14 +204,19 @@ pub fn resize_right_with_panes_to_the_left_aligned_top_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -225,11 +252,16 @@ pub fn resize_right_with_panes_to_the_right_aligned_top_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -265,13 +297,18 @@ pub fn resize_right_with_panes_to_the_left_aligned_bottom_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -307,12 +344,17 @@ pub fn resize_right_with_panes_to_the_right_aligned_bottom_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -350,15 +392,20 @@ pub fn resize_right_with_panes_to_the_left_aligned_top_and_bottom_with_current_p
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -396,17 +443,22 @@ pub fn resize_right_with_panes_to_the_right_aligned_top_and_bottom_with_current_
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -444,32 +496,45 @@ pub fn resize_right_with_panes_to_the_left_aligned_top_and_bottom_with_panes_abo
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &RESIZE_UP,
- &RESIZE_UP,
- &RESIZE_UP,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_UP,
- &RESIZE_UP,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -507,34 +572,47 @@ pub fn resize_right_with_panes_to_the_right_aligned_top_and_bottom_with_panes_ab
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &RESIZE_UP,
- &RESIZE_UP,
- &RESIZE_UP,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_UP,
- &RESIZE_UP,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
@@ -569,8 +647,13 @@ pub fn cannot_resize_right_when_pane_to_the_left_is_at_minimum_width() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &RESIZE_RIGHT,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_RIGHT_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
diff --git a/src/tests/integration/resize_up.rs b/src/tests/integration/resize_up.rs
index 80dfac8a..6e9f7813 100644
--- a/src/tests/integration/resize_up.rs
+++ b/src/tests/integration/resize_up.rs
@@ -6,7 +6,8 @@ use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots}
use crate::{start, CliArgs};
use crate::tests::utils::commands::{
- COMMAND_TOGGLE, MOVE_FOCUS, QUIT, RESIZE_LEFT, RESIZE_UP, SPLIT_HORIZONTALLY, SPLIT_VERTICALLY,
+ COMMAND_TOGGLE, ESC, MOVE_FOCUS_IN_PANE_MODE, PANE_MODE, QUIT, RESIZE_LEFT_IN_RESIZE_MODE,
+ RESIZE_MODE, RESIZE_UP_IN_RESIZE_MODE, SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
};
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
@@ -33,8 +34,13 @@ pub fn resize_up_with_pane_above() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -70,9 +76,14 @@ pub fn resize_up_with_pane_below() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -111,11 +122,16 @@ pub fn resize_up_with_panes_above_and_below() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -151,12 +167,17 @@ pub fn resize_up_with_multiple_panes_above() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
@@ -192,14 +213,19 @@ pub fn resize_up_with_panes_above_aligned_left_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
@@ -237,13 +263,18 @@ pub fn resize_up_with_panes_below_aligned_left_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
@@ -281,11 +312,16 @@ pub fn resize_up_with_panes_above_aligned_right_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
@@ -323,12 +359,17 @@ pub fn resize_up_with_panes_below_aligned_right_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
@@ -366,15 +407,20 @@ pub fn resize_up_with_panes_above_aligned_left_and_right_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
@@ -412,17 +458,22 @@ pub fn resize_up_with_panes_below_aligned_left_and_right_with_current_pane() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
@@ -460,32 +511,45 @@ pub fn resize_up_with_panes_above_aligned_left_and_right_with_panes_to_the_left_
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
@@ -523,34 +587,47 @@ pub fn resize_up_with_panes_below_aligned_left_and_right_with_to_the_left_and_ri
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_HORIZONTALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &SPLIT_VERTICALLY,
- &SPLIT_VERTICALLY,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &MOVE_FOCUS,
- &RESIZE_LEFT,
- &RESIZE_LEFT,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_LEFT_IN_RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
@@ -585,8 +662,13 @@ pub fn cannot_resize_up_when_pane_above_is_at_minimum_height() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &RESIZE_UP,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &RESIZE_MODE,
+ &RESIZE_UP_IN_RESIZE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
diff --git a/src/tests/integration/snapshots/mosaic__tests__integration__tabs__close_the_tab_that_has_a_pane_in_fullscreen.snap b/src/tests/integration/snapshots/mosaic__tests__integration__tabs__close_the_tab_that_has_a_pane_in_fullscreen.snap
index 8c5ca0a8..8515bf37 100644
--- a/src/tests/integration/snapshots/mosaic__tests__integration__tabs__close_the_tab_that_has_a_pane_in_fullscreen.snap
+++ b/src/tests/integration/snapshots/mosaic__tests__integration__tabs__close_the_tab_that_has_a_pane_in_fullscreen.snap
@@ -2,16 +2,6 @@
source: src/tests/integration/tabs.rs
expression: snapshot_before_quit
---
-line1-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-line2-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-line3-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-line4-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-line5-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-line6-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-line7-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-line8-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-line9-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-line10-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -21,4 +11,14 @@ line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+prompt $
+─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
+line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
prompt $ █
diff --git a/src/tests/integration/tabs.rs b/src/tests/integration/tabs.rs
index 23504280..a4a0f52a 100644
--- a/src/tests/integration/tabs.rs
+++ b/src/tests/integration/tabs.rs
@@ -2,12 +2,13 @@ use insta::assert_snapshot;
use crate::tests::fakes::FakeInputOutput;
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
-use crate::{panes::PositionAndSize, tests::utils::commands::CLOSE_FOCUSED_PANE};
+use crate::{panes::PositionAndSize, tests::utils::commands::CLOSE_PANE_IN_PANE_MODE};
use crate::{start, CliArgs};
use crate::tests::utils::commands::{
- CLOSE_TAB, COMMAND_TOGGLE, NEW_TAB, QUIT, SPLIT_HORIZONTALLY, SWITCH_NEXT_TAB, SWITCH_PREV_TAB,
- TOGGLE_ACTIVE_TERMINAL_FULLSCREEN,
+ CLOSE_TAB_IN_TAB_MODE, COMMAND_TOGGLE, ESC, NEW_TAB_IN_TAB_MODE, PANE_MODE, QUIT,
+ SPLIT_DOWN_IN_PANE_MODE, SWITCH_NEXT_TAB_IN_TAB_MODE, SWITCH_PREV_TAB_IN_TAB_MODE, TAB_MODE,
+ TOGGLE_ACTIVE_TERMINAL_FULLSCREEN_IN_PANE_MODE,
};
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
@@ -26,8 +27,13 @@ pub fn open_new_tab() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &NEW_TAB,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &TAB_MODE,
+ &NEW_TAB_IN_TAB_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -55,9 +61,14 @@ pub fn switch_to_prev_tab() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &NEW_TAB,
- &SWITCH_PREV_TAB,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &TAB_MODE,
+ &NEW_TAB_IN_TAB_MODE,
+ &SWITCH_PREV_TAB_IN_TAB_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -85,9 +96,14 @@ pub fn switch_to_next_tab() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &NEW_TAB,
- &SWITCH_NEXT_TAB,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &TAB_MODE,
+ &NEW_TAB_IN_TAB_MODE,
+ &SWITCH_NEXT_TAB_IN_TAB_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -115,9 +131,14 @@ pub fn close_tab() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &NEW_TAB,
- &CLOSE_TAB,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &TAB_MODE,
+ &NEW_TAB_IN_TAB_MODE,
+ &CLOSE_TAB_IN_TAB_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -145,10 +166,15 @@ pub fn close_last_pane_in_a_tab() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &NEW_TAB,
- &SPLIT_HORIZONTALLY,
- &CLOSE_FOCUSED_PANE,
- &CLOSE_FOCUSED_PANE,
+ &TAB_MODE,
+ &NEW_TAB_IN_TAB_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
+ &CLOSE_PANE_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -176,12 +202,20 @@ pub fn close_the_middle_tab() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &NEW_TAB,
- &SPLIT_HORIZONTALLY,
- &NEW_TAB,
- &SWITCH_PREV_TAB,
- &CLOSE_TAB,
+ &TAB_MODE,
+ &NEW_TAB_IN_TAB_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &TAB_MODE,
+ &NEW_TAB_IN_TAB_MODE,
+ &SWITCH_PREV_TAB_IN_TAB_MODE,
+ &CLOSE_TAB_IN_TAB_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -209,13 +243,34 @@ pub fn close_the_tab_that_has_a_pane_in_fullscreen() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &NEW_TAB,
- &SPLIT_HORIZONTALLY,
- &NEW_TAB,
- &SWITCH_PREV_TAB,
- &TOGGLE_ACTIVE_TERMINAL_FULLSCREEN,
- &CLOSE_TAB,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &TAB_MODE,
+ &NEW_TAB_IN_TAB_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &TAB_MODE,
+ &NEW_TAB_IN_TAB_MODE,
+ &SWITCH_PREV_TAB_IN_TAB_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &PANE_MODE,
+ &TOGGLE_ACTIVE_TERMINAL_FULLSCREEN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &TAB_MODE,
+ &CLOSE_TAB_IN_TAB_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -243,10 +298,15 @@ pub fn closing_last_tab_exits_the_app() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_HORIZONTALLY,
- &NEW_TAB,
- &CLOSE_TAB,
- &CLOSE_TAB,
+ &PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
+ &ESC,
+ &COMMAND_TOGGLE,
+ &COMMAND_TOGGLE,
+ &TAB_MODE,
+ &NEW_TAB_IN_TAB_MODE,
+ &CLOSE_TAB_IN_TAB_MODE,
+ &CLOSE_TAB_IN_TAB_MODE,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
diff --git a/src/tests/integration/toggle_fullscreen.rs b/src/tests/integration/toggle_fullscreen.rs
index 39149704..943e91a5 100644
--- a/src/tests/integration/toggle_fullscreen.rs
+++ b/src/tests/integration/toggle_fullscreen.rs
@@ -6,8 +6,8 @@ use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots}
use crate::{start, CliArgs};
use crate::tests::utils::commands::{
- CLOSE_FOCUSED_PANE, COMMAND_TOGGLE, MOVE_FOCUS, QUIT, SPLIT_HORIZONTALLY, SPLIT_VERTICALLY,
- TOGGLE_ACTIVE_TERMINAL_FULLSCREEN,
+ COMMAND_TOGGLE, MOVE_FOCUS_IN_PANE_MODE, PANE_MODE, QUIT, SPLIT_DOWN_IN_PANE_MODE,
+ SPLIT_RIGHT_IN_PANE_MODE, TOGGLE_ACTIVE_TERMINAL_FULLSCREEN_IN_PANE_MODE,
};
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
@@ -26,9 +26,10 @@ pub fn adding_new_terminal_in_fullscreen() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &TOGGLE_ACTIVE_TERMINAL_FULLSCREEN,
- &SPLIT_HORIZONTALLY,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &TOGGLE_ACTIVE_TERMINAL_FULLSCREEN_IN_PANE_MODE,
+ &SPLIT_DOWN_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
@@ -56,9 +57,10 @@ pub fn move_focus_is_disabled_in_fullscreen() {
fake_input_output.add_terminal_input(&[
&COMMAND_TOGGLE,
&COMMAND_TOGGLE,
- &SPLIT_VERTICALLY,
- &TOGGLE_ACTIVE_TERMINAL_FULLSCREEN,
- &MOVE_FOCUS,
+ &PANE_MODE,
+ &SPLIT_RIGHT_IN_PANE_MODE,
+ &TOGGLE_ACTIVE_TERMINAL_FULLSCREEN_IN_PANE_MODE,
+ &MOVE_FOCUS_IN_PANE_MODE,
&QUIT,
]);
start(Box::new(fake_input_output.clone()), CliArgs::default());
diff --git a/src/tests/utils.rs b/src/tests/utils.rs
index b8ecaeae..587d36fd 100644
--- a/src/tests/utils.rs
+++ b/src/tests/utils.rs
@@ -45,48 +45,35 @@ pub fn get_next_to_last_snapshot(mut snapshots: Vec<String>) -> Option<String> {
}
pub mod commands {
- /// ctrl-g
- pub const COMMAND_TOGGLE: [u8; 1] = [7];
- /// b
- pub const SPLIT_HORIZONTALLY: [u8; 1] = [98];
- /// n
- pub const SPLIT_VERTICALLY: [u8; 1] = [110];
- /// j
- pub const RESIZE_DOWN: [u8; 1] = [106];
- /// k
- pub const RESIZE_UP: [u8; 1] = [107];
- /// p
- pub const MOVE_FOCUS: [u8; 1] = [112];
- /// h
- pub const RESIZE_LEFT: [u8; 1] = [104];
- /// l
- pub const RESIZE_RIGHT: [u8; 1] = [108];
- /// z
- pub const SPAWN_TERMINAL: [u8; 1] = [122];
- /// q
- pub const QUIT: [u8; 1] = [113];
- /// PgUp
- pub const SCROLL_UP: [u8; 4] = [27, 91, 53, 126];
- /// PgDn
- pub const SCROLL_DOWN: [u8; 4] = [27, 91, 54, 126];
- /// x
- pub const CLOSE_FOCUSED_PANE: [u8; 1] = [120];
- /// e
- pub const TOGGLE_ACTIVE_TERMINAL_FULLSCREEN: [u8; 1] = [101];
- /// y
- pub const MOVE_FOCUS_LEFT: [u8; 1] = [121];
- /// u
- pub const MOVE_FOCUS_DOWN: [u8; 1] = [117];
- /// i
- pub const MOVE_FOCUS_UP: [u8; 1] = [105];
- /// o
- pub const MOVE_FOCUS_RIGHT: [u8; 1] = [111];
- /// 1
- pub const NEW_TAB: [u8; 1] = [49];
- /// 2
- pub const SWITCH_PREV_TAB: [u8; 1] = [50];
- /// 3
- pub const SWITCH_NEXT_TAB: [u8; 1] = [51];
- /// 4
- pub const CLOSE_TAB: [u8; 1] = [52];
+ pub const COMMAND_TOGGLE: [u8; 1] = [7]; // ctrl-g
+ pub const QUIT: [u8; 1] = [113]; // q
+ pub const ESC: [u8; 1] = [27];
+
+ pub const PANE_MODE: [u8; 1] = [112]; // p
+ pub const SPAWN_TERMINAL_IN_PANE_MODE: [u8; 1] = [110]; // n
+ pub const MOVE_FOCUS_IN_PANE_MODE: [u8; 1] = [112]; // p
+ pub const SPLIT_DOWN_IN_PANE_MODE: [u8; 1] = [100]; // d
+ pub const SPLIT_RIGHT_IN_PANE_MODE: [u8; 1] = [114]; // r
+ pub const TOGGLE_ACTIVE_TERMINAL_FULLSCREEN_IN_PANE_MODE: [u8; 1] = [102]; // f
+ pub const CLOSE_PANE_IN_PANE_MODE: [u8; 1] = [120]; // x
+ pub const MOVE_FOCUS_DOWN_IN_PANE_MODE: [u8; 1] = [106]; // j
+ pub const MOVE_FOCUS_UP_IN_PANE_MODE: [u8; 1] = [107]; // k
+ pub const MOVE_FOCUS_LEFT_IN_PANE_MODE: [u8; 1] = [104]; // h
+ pub const MOVE_FOCUS_RIGHT_IN_PANE_MODE: [u8; 1] = [108]; // l
+
+ pub const SCROLL_MODE: [u8; 1] = [115]; // s
+ pub const SCROLL_UP_IN_SCROLL_MODE: [u8; 1] = [107]; // k
+ pub const SCROLL_DOWN_IN_SCROLL_MODE: [u8; 1] = [106]; // j
+
+ pub const RESIZE_MODE: [u8; 1] = [114]; // r
+ pub const RESIZE_DOWN_IN_RESIZE_MODE: [u8; 1] = [106]; // j
+ pub const RESIZE_UP_IN_RESIZE_MODE: [u8; 1] = [107]; // k
+ pub const RESIZE_LEFT_IN_RESIZE_MODE: [u8; 1] = [104]; // h
+ pub const RESIZE_RIGHT_IN_RESIZE_MODE: [u8; 1] = [108]; // l
+
+ pub const TAB_MODE: [u8; 1] = [116]; // t
+ pub const NEW_TAB_IN_TAB_MODE: [u8; 1] = [110]; // n
+ pub const SWITCH_NEXT_TAB_IN_TAB_MODE: [u8; 1] = [108]; // l
+ pub const SWITCH_PREV_TAB_IN_TAB_MODE: [u8; 1] = [104]; // h
+ pub const CLOSE_TAB_IN_TAB_MODE: [u8; 1] = [120]; // x
}