diff options
| author | Kyle Sutherland-Cash <kyle.sutherland-cash@ensoft.co.uk> | 2020-11-21 14:55:49 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-21 15:55:49 +0100 |
| commit | 11e72b3d6b97c117633d73c46cd7c91b549c3e8e (patch) | |
| tree | a29bcbbf4d39267ceb6720aaf25ea0f841606e1a /src/tests/integration/basic.rs | |
| parent | fix(atomicity): block commands before executing others (#59) (diff) | |
| download | sl0ppij-11e72b3d6b97c117633d73c46cd7c91b549c3e8e.tar.gz sl0ppij-11e72b3d6b97c117633d73c46cd7c91b549c3e8e.tar.xz sl0ppij-11e72b3d6b97c117633d73c46cd7c91b549c3e8e.zip | |
feat(ux): add a command mode (#42)
* Move the input loop into a separate module
* Proof of concept implementation of command mode
* Update readme to reflect command mode
* Have Esc exit command mode
* Update tests to use command mode and make it transient by default
* Some merge fixes
* fix(tests): add missing COMMAND_TOGGLE and fix false positive test
* style(format): make rustfmt happy
* Update readme to describe command mode
Co-authored-by: Aram Drevekenin <aram@poor.dev>
Diffstat (limited to 'src/tests/integration/basic.rs')
| -rw-r--r-- | src/tests/integration/basic.rs | 32 |
1 files changed, 26 insertions, 6 deletions
diff --git a/src/tests/integration/basic.rs b/src/tests/integration/basic.rs index b3b8c2e6..54a174cc 100644 --- a/src/tests/integration/basic.rs +++ b/src/tests/integration/basic.rs @@ -3,8 +3,8 @@ use ::insta::assert_snapshot; use crate::tests::fakes::FakeInputOutput; use crate::tests::utils::commands::{ - MOVE_FOCUS, QUIT, RESIZE_LEFT, RESIZE_RIGHT, RESIZE_UP, SCROLL_DOWN, SCROLL_UP, SPAWN_TERMINAL, - SPLIT_HORIZONTALLY, SPLIT_VERTICALLY, TOGGLE_ACTIVE_TERMINAL_FULLSCREEN, + COMMAND_TOGGLE, MOVE_FOCUS, QUIT, RESIZE_LEFT, RESIZE_RIGHT, RESIZE_UP, SCROLL_DOWN, SCROLL_UP, + SPAWN_TERMINAL, SPLIT_HORIZONTALLY, SPLIT_VERTICALLY, TOGGLE_ACTIVE_TERMINAL_FULLSCREEN, }; use crate::tests::utils::get_output_frame_snapshots; use crate::{start, Opt}; @@ -22,7 +22,7 @@ pub fn starts_with_one_terminal() { y: 0, }; let mut fake_input_output = get_fake_os_input(&fake_win_size); - fake_input_output.add_terminal_input(&[QUIT]); + fake_input_output.add_terminal_input(&[COMMAND_TOGGLE, COMMAND_TOGGLE, QUIT]); start(Box::new(fake_input_output.clone()), Opt::default()); let output_frames = fake_input_output .stdout_writer @@ -44,7 +44,7 @@ pub fn split_terminals_vertically() { y: 0, }; let mut fake_input_output = get_fake_os_input(&fake_win_size); - fake_input_output.add_terminal_input(&[SPLIT_VERTICALLY, QUIT]); + fake_input_output.add_terminal_input(&[COMMAND_TOGGLE, COMMAND_TOGGLE, SPLIT_VERTICALLY, QUIT]); start(Box::new(fake_input_output.clone()), Opt::default()); let output_frames = fake_input_output .stdout_writer @@ -66,7 +66,12 @@ pub fn split_terminals_horizontally() { y: 0, }; let mut fake_input_output = get_fake_os_input(&fake_win_size); - fake_input_output.add_terminal_input(&[SPLIT_HORIZONTALLY, QUIT]); + fake_input_output.add_terminal_input(&[ + COMMAND_TOGGLE, + COMMAND_TOGGLE, + SPLIT_HORIZONTALLY, + QUIT, + ]); start(Box::new(fake_input_output.clone()), Opt::default()); let output_frames = fake_input_output .stdout_writer @@ -89,7 +94,14 @@ pub fn split_largest_terminal() { y: 0, }; let mut fake_input_output = get_fake_os_input(&fake_win_size); - fake_input_output.add_terminal_input(&[SPAWN_TERMINAL, SPAWN_TERMINAL, SPAWN_TERMINAL, QUIT]); + fake_input_output.add_terminal_input(&[ + COMMAND_TOGGLE, + COMMAND_TOGGLE, + SPAWN_TERMINAL, + SPAWN_TERMINAL, + SPAWN_TERMINAL, + QUIT, + ]); start(Box::new(fake_input_output.clone()), Opt::default()); let output_frames = fake_input_output .stdout_writer @@ -128,6 +140,8 @@ pub fn resize_right_and_up_on_the_same_axis() { let mut fake_input_output = get_fake_os_input(&fake_win_size); fake_input_output.add_terminal_input(&[ + COMMAND_TOGGLE, + COMMAND_TOGGLE, SPLIT_HORIZONTALLY, SPLIT_VERTICALLY, MOVE_FOCUS, @@ -161,6 +175,8 @@ pub fn scrolling_inside_a_pane() { }; let mut fake_input_output = get_fake_os_input(&fake_win_size); fake_input_output.add_terminal_input(&[ + COMMAND_TOGGLE, + COMMAND_TOGGLE, SPLIT_HORIZONTALLY, SPLIT_VERTICALLY, SCROLL_UP, @@ -193,6 +209,8 @@ pub fn max_panes() { }; let mut fake_input_output = get_fake_os_input(&fake_win_size); fake_input_output.add_terminal_input(&[ + COMMAND_TOGGLE, + COMMAND_TOGGLE, SPAWN_TERMINAL, SPAWN_TERMINAL, SPAWN_TERMINAL, @@ -223,6 +241,8 @@ pub fn toggle_focused_pane_fullscreen() { }; let mut fake_input_output = get_fake_os_input(&fake_win_size); fake_input_output.add_terminal_input(&[ + COMMAND_TOGGLE, + COMMAND_TOGGLE, SPAWN_TERMINAL, SPAWN_TERMINAL, SPAWN_TERMINAL, |
