aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests/integration/basic.rs
diff options
context:
space:
mode:
authorKyle Sutherland-Cash <kyle.sutherland-cash@ensoft.co.uk>2020-11-21 14:55:49 +0000
committerGitHub <noreply@github.com>2020-11-21 15:55:49 +0100
commit11e72b3d6b97c117633d73c46cd7c91b549c3e8e (patch)
treea29bcbbf4d39267ceb6720aaf25ea0f841606e1a /src/tests/integration/basic.rs
parentfix(atomicity): block commands before executing others (#59) (diff)
downloadsl0ppij-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.rs32
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,