summaryrefslogtreecommitdiffstats
path: root/src/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/e2e/cases.rs80
-rw-r--r--src/tests/e2e/remote_runner.rs56
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__bracketed_paste.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__close_pane.snap2
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__close_tab.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__detach_and_attach_session.snap2
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__focus_pane_with_mouse.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__mirrored_sessions.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab-2.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_tabs-2.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_tabs.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_same_pane_and_tab-2.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_same_pane_and_tab.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__open_new_tab.snap2
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__resize_pane.snap2
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__resize_terminal_window.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__scrolling_inside_a_pane_with_mouse.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__split_terminals_vertically.snap2
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__start_without_pane_frames.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__starts_with_one_terminal.snap2
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__tmux_mode.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__typing_exit_closes_pane.snap2
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__undo_rename_pane.snap4
-rw-r--r--src/tests/e2e/snapshots/zellij__tests__e2e__cases__undo_rename_tab.snap4
-rw-r--r--src/tests/fixtures/configs/changed_keys.kdl12
-rw-r--r--src/tests/fixtures/configs/changed_keys.yaml26
-rw-r--r--src/tests/fixtures/layouts/focus-tab-layout.yaml92
-rw-r--r--src/tests/fixtures/layouts/parts-total-less-than-100-percent.yaml19
-rw-r--r--src/tests/fixtures/layouts/parts-total-more-than-100-percent.yaml20
-rw-r--r--src/tests/fixtures/layouts/three-panes-with-nesting.yaml17
31 files changed, 55 insertions, 345 deletions
diff --git a/src/tests/e2e/cases.rs b/src/tests/e2e/cases.rs
index 7457ed544..63e2d6778 100644
--- a/src/tests/e2e/cases.rs
+++ b/src/tests/e2e/cases.rs
@@ -458,9 +458,8 @@ pub fn close_tab() {
name: "Wait for tab to close",
instruction: |mut remote_terminal: RemoteTerminal| -> bool {
let mut step_is_complete = false;
- if remote_terminal.cursor_position_is(3, 2)
+ if remote_terminal.snapshot_contains("Tab #1")
&& !remote_terminal.snapshot_contains("Tab #2")
- && remote_terminal.tip_appears()
{
// cursor is in the first tab again
step_is_complete = true;
@@ -475,7 +474,8 @@ pub fn close_tab() {
break last_snapshot;
}
};
- assert_snapshot!(last_snapshot);
+ assert!(last_snapshot.contains("Tab #1"));
+ assert!(!last_snapshot.contains("Tab #2"));
}
#[test]
@@ -950,47 +950,12 @@ pub fn detach_and_attach_session() {
#[test]
#[ignore]
-pub fn accepts_basic_layout() {
- let fake_win_size = Size {
- cols: 120,
- rows: 24,
- };
- let layout_file_name = "three-panes-with-nesting.yaml";
- let mut test_attempts = 10;
- let last_snapshot = loop {
- RemoteRunner::kill_running_sessions(fake_win_size);
- let mut runner = RemoteRunner::new_with_layout(fake_win_size, layout_file_name);
- runner.run_all_steps();
- let last_snapshot = runner.take_snapshot_after(Step {
- name: "Wait for app to load",
- instruction: |remote_terminal: RemoteTerminal| -> bool {
- let mut step_is_complete = false;
- if remote_terminal.cursor_position_is(3, 1)
- && remote_terminal.snapshot_contains("$ █ ││$")
- && remote_terminal.snapshot_contains("$ ") {
- step_is_complete = true;
- }
- step_is_complete
- },
- });
- if runner.test_timed_out && test_attempts > 0 {
- test_attempts -= 1;
- continue;
- } else {
- break last_snapshot;
- }
- };
- assert_snapshot!(last_snapshot);
-}
-
-#[test]
-#[ignore]
pub fn status_bar_loads_custom_keybindings() {
let fake_win_size = Size {
cols: 120,
rows: 24,
};
- let config_file_name = "changed_keys.yaml";
+ let config_file_name = "changed_keys.kdl";
let mut test_attempts = 10;
let last_snapshot = loop {
RemoteRunner::kill_running_sessions(fake_win_size);
@@ -1720,43 +1685,6 @@ pub fn toggle_floating_panes() {
#[test]
#[ignore]
-pub fn focus_tab_with_layout() {
- let fake_win_size = Size {
- cols: 120,
- rows: 24,
- };
- let layout_file_name = "focus-tab-layout.yaml";
- let mut test_attempts = 10;
- let last_snapshot = loop {
- RemoteRunner::kill_running_sessions(fake_win_size);
- let mut runner = RemoteRunner::new_with_layout(fake_win_size, layout_file_name);
- runner.run_all_steps();
- let last_snapshot = runner.take_snapshot_after(Step {
- name: "Wait for app to load",
- instruction: |remote_terminal: RemoteTerminal| -> bool {
- let mut step_is_complete = false;
- if remote_terminal.status_bar_appears()
- && remote_terminal.tip_appears()
- && remote_terminal.snapshot_contains("Tab #9")
- && remote_terminal.cursor_position_is(63, 2)
- {
- step_is_complete = true;
- }
- step_is_complete
- },
- });
- if runner.test_timed_out && test_attempts > 0 {
- test_attempts -= 1;
- continue;
- } else {
- break last_snapshot;
- }
- };
- assert_snapshot!(last_snapshot);
-}
-
-#[test]
-#[ignore]
pub fn tmux_mode() {
let fake_win_size = Size {
cols: 120,
diff --git a/src/tests/e2e/remote_runner.rs b/src/tests/e2e/remote_runner.rs
index 03fb619e1..b0bde1dbc 100644
--- a/src/tests/e2e/remote_runner.rs
+++ b/src/tests/e2e/remote_runner.rs
@@ -19,7 +19,6 @@ use std::rc::Rc;
const ZELLIJ_EXECUTABLE_LOCATION: &str = "/usr/src/zellij/x86_64-unknown-linux-musl/release/zellij";
const SET_ENV_VARIABLES: &str = "EDITOR=/usr/bin/vi";
-const ZELLIJ_LAYOUT_PATH: &str = "/usr/src/zellij/fixtures/layouts";
const ZELLIJ_CONFIG_PATH: &str = "/usr/src/zellij/fixtures/configs";
const ZELLIJ_DATA_DIR: &str = "/usr/src/zellij/e2e-data";
const ZELLIJ_FIXTURE_PATH: &str = "/usr/src/zellij/fixtures";
@@ -145,25 +144,6 @@ fn start_zellij_without_frames(channel: &mut ssh2::Channel) {
std::thread::sleep(std::time::Duration::from_secs(1)); // wait until Zellij stops parsing startup ANSI codes from the terminal STDIN
}
-fn start_zellij_with_layout(channel: &mut ssh2::Channel, layout_path: &str) {
- stop_zellij(channel);
- channel
- .write_all(
- format!(
- "{} {} --layout {} --session {} --data-dir {}\n",
- SET_ENV_VARIABLES,
- ZELLIJ_EXECUTABLE_LOCATION,
- layout_path,
- SESSION_NAME,
- ZELLIJ_DATA_DIR
- )
- .as_bytes(),
- )
- .unwrap();
- channel.flush().unwrap();
- std::thread::sleep(std::time::Duration::from_secs(1)); // wait until Zellij stops parsing startup ANSI codes from the terminal STDIN
-}
-
fn start_zellij_with_config(channel: &mut ssh2::Channel, config_path: &str) {
stop_zellij(channel);
channel
@@ -571,42 +551,6 @@ impl RemoteRunner {
reader_thread,
}
}
- pub fn new_with_layout(win_size: Size, layout_file_name: &'static str) -> Self {
- let remote_path = Path::new(ZELLIJ_LAYOUT_PATH).join(layout_file_name);
- let sess = ssh_connect();
- let mut channel = sess.channel_session().unwrap();
- let mut rows = Dimension::fixed(win_size.rows);
- let mut cols = Dimension::fixed(win_size.cols);
- rows.set_inner(win_size.rows);
- cols.set_inner(win_size.cols);
- let pane_geom = PaneGeom {
- x: 0,
- y: 0,
- rows,
- cols,
- };
- setup_remote_environment(&mut channel, win_size);
- start_zellij_with_layout(&mut channel, &remote_path.to_string_lossy());
- let channel = Arc::new(Mutex::new(channel));
- let last_snapshot = Arc::new(Mutex::new(String::new()));
- let cursor_coordinates = Arc::new(Mutex::new((0, 0)));
- sess.set_blocking(false);
- let reader_thread =
- read_from_channel(&channel, &last_snapshot, &cursor_coordinates, &pane_geom);
- RemoteRunner {
- steps: vec![],
- channel,
- currently_running_step: None,
- current_step_index: 0,
- retries_left: RETRIES,
- retry_pause_ms: 100,
- test_timed_out: false,
- panic_on_no_retries_left: true,
- last_snapshot,
- cursor_coordinates,
- reader_thread,
- }
- }
pub fn new_with_config(win_size: Size, config_file_name: &'static str) -> Self {
let remote_path = Path::new(ZELLIJ_CONFIG_PATH).join(config_file_name);
let sess = ssh_connect();
diff --git a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__bracketed_paste.snap b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__bracketed_paste.snap
index 8b66d5ace..dcb76b9e1 100644
--- a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__bracketed_paste.snap
+++ b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__bracketed_paste.snap
@@ -1,6 +1,6 @@
---
source: src/tests/e2e/cases.rs
-assertion_line: 1636
+assertion_line: 1671
expression: last_snapshot
---
Zellij (e2e-test)  Tab #1 
@@ -26,4 +26,4 @@ expression: last_snapshot
│ │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Ctrl + <g> LOCK  <p> PANE  <t> TAB  <n> RESIZE  <h> MOVE  <s> SEARCH  <o> SESSION  <q> QUIT 
- Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|=|-> => resize pane.
+ Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|-> => resize pane.
diff --git a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__close_pane.snap b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__close_pane.snap
index 0d431c329..ac55a9d4a 100644
--- a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__close_pane.snap
+++ b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__close_pane.snap
@@ -26,4 +26,4 @@ expression: last_snapshot
│ │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Ctrl + <g> LOCK  <p> PANE  <t> TAB  <n> RESIZE  <h> MOVE  <s> SEARCH  <o> SESSION  <q> QUIT 
- Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|=|-> => resize pane.
+ Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|-> => resize pane.
diff --git a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__close_tab.snap b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__close_tab.snap
index 603432fdf..b4ad5a98d 100644
--- a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__close_tab.snap
+++ b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__close_tab.snap
@@ -1,6 +1,6 @@
---
source: src/tests/e2e/cases.rs
-assertion_line: 478
+assertion_line: 482
expression: last_snapshot
---
Zellij (e2e-test)  Tab #1 
@@ -26,4 +26,4 @@ expression: last_snapshot
│ ││ │
└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘
Ctrl + <g> LOCK  <p> PANE  <t> TAB  <n> RESIZE  <h> MOVE  <s> SEARCH  <o> SESSION  <q> QUIT 
- Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|=|-> => resize pane.
+ <←→> Move focus / <n> New / <x> Close / <r> Rename / <s> Sync / <TAB> Toggle / <ENTER> Select pane
diff --git a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__detach_and_attach_session.snap b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__detach_and_attach_session.snap
index 92d2a0378..5f79887ff 100644
--- a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__detach_and_attach_session.snap
+++ b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__detach_and_attach_session.snap
@@ -26,4 +26,4 @@ expression: last_snapshot
│ ││ │
└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘
Ctrl + <g> LOCK  <p> PANE  <t> TAB  <n> RESIZE  <h> MOVE  <s> SEARCH  <o> SESSION  <q> QUIT 
- Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|=|-> => resize pane.
+ Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|-> => resize pane.
diff --git a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__focus_pane_with_mouse.snap b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__focus_pane_with_mouse.snap
index ef923aa2e..d373cbbb1 100644
--- a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__focus_pane_with_mouse.snap
+++ b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__focus_pane_with_mouse.snap
@@ -1,6 +1,6 @@
---
source: src/tests/e2e/cases.rs
-assertion_line: 1042
+assertion_line: 1077
expression: last_snapshot
---
Zellij (e2e-test)  Tab #1 
@@ -26,4 +26,4 @@ expression: last_snapshot
│ ││ │
└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘
Ctrl + <g> LOCK  <p> PANE  <t> TAB  <n> RESIZE  <h> MOVE  <s> SEARCH  <o> SESSION  <q> QUIT 
- Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|=|-> => resize pane.
+ Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|-> => resize pane.
diff --git a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__mirrored_sessions.snap b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__mirrored_sessions.snap
index 68965f48e..3a4212903 100644
--- a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__mirrored_sessions.snap
+++ b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__mirrored_sessions.snap
@@ -1,6 +1,6 @@
---
source: src/tests/e2e/cases.rs
-assertion_line: 1307
+assertion_line: 1342
expression: first_runner_snapshot
---
Zellij (mirrored_sessions)  Tab #1  Tab #2 
@@ -26,4 +26,4 @@ expression: first_runner_snapshot
│ ││ │
└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘
Ctrl + <g> LOCK  <p> PANE  <t> TAB  <n> RESIZE  <h> MOVE  <s> SEARCH  <o> SESSION  <q> QUIT 
- Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|=|-> => resize pane.
+ Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|-> => resize pane.
diff --git a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab-2.snap b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab-2.snap
index ffcb6b2fd..5bf975678 100644
--- a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab-2.snap
+++ b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab-2.snap
@@ -1,6 +1,6 @@
---
source: src/tests/e2e/cases.rs
-assertion_line: 1486
+assertion_line: 1521
expression: second_runner_snapshot
---
Zellij (multiple_users_in_same_pane_and_tab)  Tab #1 [ ]
@@ -26,4 +26,4 @@ expression: second_runner_snapshot
│ ││ │
└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘
Ctrl + <g> LOCK  <p> PANE  <t> TAB  <n> RESIZE  <h> MOVE  <s> SEARCH  <o> SESSION  <q> QUIT 
- Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|=|-> => resize pane.
+ Tip: Alt + <n> => new pane. Alt + <←↓↑→> or Alt + <hjkl> => navigate. Alt + <+|-> => resize pane.
diff --git a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab.snap b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab.snap
index 797448a6a..2316cf55f 100644
--- a/src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab.snap
+++ b/src/tests/e2e/snapshots/zellij__tests__e2e__cases__multiple_users_in_different_panes_and_same_tab.snap
@@ -1,6 +1,6 @@
---
source: src/tests/e2e/cases.rs
<