Merge branch 'main' into unified-logging
This commit is contained in:
commit
45d2992a3f
228 changed files with 15266 additions and 10751 deletions
5
.github/workflows/e2e.yml
vendored
5
.github/workflows/e2e.yml
vendored
|
|
@ -39,6 +39,11 @@ jobs:
|
||||||
run: cargo install --debug cargo-make
|
run: cargo install --debug cargo-make
|
||||||
- name: Build asset
|
- name: Build asset
|
||||||
run: cargo make build-e2e
|
run: cargo make build-e2e
|
||||||
|
# we copy this manually into the target folder instead of mounting it because
|
||||||
|
# github actions creates the service first, and if it has a mount that is part
|
||||||
|
# of your yet unchecked out code, you cannot checkout the code after the mount
|
||||||
|
- name: Copy fixtures folder to target
|
||||||
|
run: cp -r ${{ github.workspace }}/src/tests/fixtures ${{ github.workspace }}/target
|
||||||
- name: Restart ssh container
|
- name: Restart ssh container
|
||||||
# we need to do this because otherwise the volume will not be mounted
|
# we need to do this because otherwise the volume will not be mounted
|
||||||
# on the docker container, since it was created before the folder existed
|
# on the docker container, since it was created before the folder existed
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
* Kill children properly (https://github.com/zellij-org/zellij/pull/601)
|
||||||
|
* Change name of `Run` binding for actions (https://github.com/zellij-org/zellij/pull/602)
|
||||||
|
|
||||||
|
## [0.14.0] - 2021-07-05
|
||||||
* Add improved error handling for layouts (https://github.com/zellij-org/zellij/pull/576)
|
* Add improved error handling for layouts (https://github.com/zellij-org/zellij/pull/576)
|
||||||
* Change layout directory from data to config (https://github.com/zellij-org/zellij/pull/577)
|
* Change layout directory from data to config (https://github.com/zellij-org/zellij/pull/577)
|
||||||
POSSIBLE BREAKING CHANGE:
|
POSSIBLE BREAKING CHANGE:
|
||||||
|
|
@ -14,6 +18,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
|
||||||
`layout-dir`
|
`layout-dir`
|
||||||
* Fix `Makefile.toml` because of missing directory (https://github.com/zellij-org/zellij/pull/580)
|
* Fix `Makefile.toml` because of missing directory (https://github.com/zellij-org/zellij/pull/580)
|
||||||
* Autodetach on force close (https://github.com/zellij-org/zellij/pull/581)
|
* Autodetach on force close (https://github.com/zellij-org/zellij/pull/581)
|
||||||
|
* Add option to specify a default shell (https://github.com/zellij-org/zellij/pull/594)
|
||||||
|
* Add action to run bound commands in a pane (https://github.com/zellij-org/zellij/pull/596)
|
||||||
|
* Initial mouse support (https://github.com/zellij-org/zellij/pull/448)
|
||||||
|
* Add `layout-dir` to `setup --check` subcommand (https://github.com/zellij-org/zellij/pull/599)
|
||||||
|
|
||||||
## [0.13.0] - 2021-06-04
|
## [0.13.0] - 2021-06-04
|
||||||
* Fix crash when padding before widechar (https://github.com/zellij-org/zellij/pull/540)
|
* Fix crash when padding before widechar (https://github.com/zellij-org/zellij/pull/540)
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,8 @@ cargo make manpage
|
||||||
To run `install` or `publish`, you'll need the package `binaryen` in the
|
To run `install` or `publish`, you'll need the package `binaryen` in the
|
||||||
version `wasm-opt --version` > 97, for it's command `wasm-opt`.
|
version `wasm-opt --version` > 97, for it's command `wasm-opt`.
|
||||||
|
|
||||||
|
To run `test`, you will need the package `pkg-config` and a version of `openssl`.
|
||||||
|
|
||||||
## Running the end-to-end tests
|
## Running the end-to-end tests
|
||||||
Zellij includes some end to end tests which test the whole application as a black-box from the outside.
|
Zellij includes some end to end tests which test the whole application as a black-box from the outside.
|
||||||
These tests work by running a docker container which contains the Zellij binary, connecting to it via ssh, sending some commands and comparing the output received against predefined snapshots.
|
These tests work by running a docker container which contains the Zellij binary, connecting to it via ssh, sending some commands and comparing the output received against predefined snapshots.
|
||||||
|
|
|
||||||
27
Cargo.lock
generated
27
Cargo.lock
generated
|
|
@ -211,12 +211,12 @@ checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "atty"
|
name = "atty"
|
||||||
version = "0.2.14"
|
version = "0.2.11"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
|
checksum = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hermit-abi",
|
|
||||||
"libc",
|
"libc",
|
||||||
|
"termion",
|
||||||
"winapi",
|
"winapi",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
@ -241,6 +241,12 @@ dependencies = [
|
||||||
"rustc-demangle",
|
"rustc-demangle",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "base64"
|
||||||
|
version = "0.13.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bincode"
|
name = "bincode"
|
||||||
version = "1.3.3"
|
version = "1.3.3"
|
||||||
|
|
@ -2616,7 +2622,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zellij"
|
name = "zellij"
|
||||||
version = "0.14.0"
|
version = "0.15.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"insta",
|
"insta",
|
||||||
"log",
|
"log",
|
||||||
|
|
@ -2630,18 +2636,21 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zellij-client"
|
name = "zellij-client"
|
||||||
version = "0.14.0"
|
version = "0.15.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"insta",
|
||||||
|
"mio",
|
||||||
"termbg",
|
"termbg",
|
||||||
"zellij-utils",
|
"zellij-utils",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zellij-server"
|
name = "zellij-server"
|
||||||
version = "0.14.0"
|
version = "0.15.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ansi_term 0.12.1",
|
"ansi_term 0.12.1",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
"base64",
|
||||||
"cassowary",
|
"cassowary",
|
||||||
"daemonize",
|
"daemonize",
|
||||||
"insta",
|
"insta",
|
||||||
|
|
@ -2656,7 +2665,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zellij-tile"
|
name = "zellij-tile"
|
||||||
version = "0.14.0"
|
version = "0.15.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
|
@ -2666,14 +2675,14 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zellij-tile-utils"
|
name = "zellij-tile-utils"
|
||||||
version = "0.14.0"
|
version = "0.15.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"ansi_term 0.12.1",
|
"ansi_term 0.12.1",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zellij-utils"
|
name = "zellij-utils"
|
||||||
version = "0.14.0"
|
version = "0.15.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-std",
|
"async-std",
|
||||||
"backtrace",
|
"backtrace",
|
||||||
|
|
|
||||||
12
Cargo.toml
12
Cargo.toml
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "zellij"
|
name = "zellij"
|
||||||
version = "0.14.0"
|
version = "0.15.0"
|
||||||
authors = ["Aram Drevekenin <aram@poor.dev>"]
|
authors = ["Aram Drevekenin <aram@poor.dev>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
description = "A terminal workspace with batteries included"
|
description = "A terminal workspace with batteries included"
|
||||||
|
|
@ -14,18 +14,16 @@ resolver = "2"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
names = "0.11.0"
|
names = "0.11.0"
|
||||||
zellij-client = { path = "zellij-client/", version = "0.14.0" }
|
|
||||||
zellij-server = { path = "zellij-server/", version = "0.14.0" }
|
zellij-client = { path = "zellij-client/", version = "0.15.0" }
|
||||||
zellij-utils = { path = "zellij-utils/", version = "0.14.0" }
|
zellij-server = { path = "zellij-server/", version = "0.15.0" }
|
||||||
|
zellij-utils = { path = "zellij-utils/", version = "0.15.0" }
|
||||||
log = "0.4.14"
|
log = "0.4.14"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
insta = { version = "1.6.0", features = ["backtrace"] }
|
insta = { version = "1.6.0", features = ["backtrace"] }
|
||||||
ssh2 = "0.9.1"
|
ssh2 = "0.9.1"
|
||||||
rand = "0.8.0"
|
rand = "0.8.0"
|
||||||
zellij-utils = { path = "zellij-utils/", version = "0.14.0", features = ["test"] }
|
|
||||||
zellij-client = { path = "zellij-client/", version = "0.14.0", features = ["test"] }
|
|
||||||
zellij-server = { path = "zellij-server/", version = "0.14.0", features = ["test"] }
|
|
||||||
|
|
||||||
[workspace]
|
[workspace]
|
||||||
members = [
|
members = [
|
||||||
|
|
|
||||||
|
|
@ -151,7 +151,7 @@ run_task = "publish-zellij"
|
||||||
[tasks.release-commit]
|
[tasks.release-commit]
|
||||||
dependencies = ["commit-all", "tag-release"]
|
dependencies = ["commit-all", "tag-release"]
|
||||||
command = "git"
|
command = "git"
|
||||||
args = ["push", "--atomic", "origin", "main", "v${CARGO_MAKE_CRATE_VERSION}"]
|
args = ["push", "--atomic", "upstream", "main", "v${CARGO_MAKE_CRATE_VERSION}"]
|
||||||
|
|
||||||
[tasks.commit-all]
|
[tasks.commit-all]
|
||||||
ignore_errors = true
|
ignore_errors = true
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -16,6 +16,9 @@ services:
|
||||||
- type: bind
|
- type: bind
|
||||||
source: ./target
|
source: ./target
|
||||||
target: /usr/src/zellij
|
target: /usr/src/zellij
|
||||||
|
- type: bind
|
||||||
|
source: ./src/tests/fixtures
|
||||||
|
target: /usr/src/zellij/fixtures
|
||||||
ports:
|
ports:
|
||||||
- 2222:2222
|
- 2222:2222
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
|
||||||
10
src/main.rs
10
src/main.rs
|
|
@ -13,9 +13,7 @@ use zellij_server::{os_input_output::get_server_os_input, start_server};
|
||||||
use zellij_utils::{
|
use zellij_utils::{
|
||||||
cli::{CliArgs, Command, Sessions},
|
cli::{CliArgs, Command, Sessions},
|
||||||
consts::{ZELLIJ_TMP_DIR, ZELLIJ_TMP_LOG_DIR},
|
consts::{ZELLIJ_TMP_DIR, ZELLIJ_TMP_LOG_DIR},
|
||||||
input::config::Config,
|
input::{config::Config, layout::Layout, options::Options},
|
||||||
input::layout::Layout,
|
|
||||||
input::options::Options,
|
|
||||||
logging::*,
|
logging::*,
|
||||||
setup::{find_default_config_dir, get_default_data_dir, get_layout_dir, Setup},
|
setup::{find_default_config_dir, get_default_data_dir, get_layout_dir, Setup},
|
||||||
structopt::StructOpt,
|
structopt::StructOpt,
|
||||||
|
|
@ -28,8 +26,6 @@ pub fn main() {
|
||||||
|
|
||||||
if let Some(Command::Sessions(Sessions::ListSessions)) = opts.command {
|
if let Some(Command::Sessions(Sessions::ListSessions)) = opts.command {
|
||||||
list_sessions();
|
list_sessions();
|
||||||
} else if let Some(Command::Setup(ref setup)) = opts.command {
|
|
||||||
Setup::from_cli(setup, &opts).expect("Failed to print to stdout");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let config = match Config::try_from(&opts) {
|
let config = match Config::try_from(&opts) {
|
||||||
|
|
@ -41,6 +37,10 @@ pub fn main() {
|
||||||
};
|
};
|
||||||
let config_options = Options::from_cli(&config.options, opts.command.clone());
|
let config_options = Options::from_cli(&config.options, opts.command.clone());
|
||||||
|
|
||||||
|
if let Some(Command::Setup(ref setup)) = opts.command {
|
||||||
|
Setup::from_cli(setup, &opts, &config_options).expect("Failed to print to stdout");
|
||||||
|
}
|
||||||
|
|
||||||
atomic_create_dir(&*ZELLIJ_TMP_DIR).unwrap();
|
atomic_create_dir(&*ZELLIJ_TMP_DIR).unwrap();
|
||||||
atomic_create_dir(&*ZELLIJ_TMP_LOG_DIR).unwrap();
|
atomic_create_dir(&*ZELLIJ_TMP_LOG_DIR).unwrap();
|
||||||
if let Some(path) = opts.server {
|
if let Some(path) = opts.server {
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,69 @@
|
||||||
|
#![allow(unused)]
|
||||||
|
|
||||||
use ::insta::assert_snapshot;
|
use ::insta::assert_snapshot;
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
use zellij_utils::{pane_size::PositionAndSize, position::Position};
|
||||||
|
|
||||||
use rand::Rng;
|
use rand::Rng;
|
||||||
|
|
||||||
|
use std::path::Path;
|
||||||
|
|
||||||
use super::remote_runner::{RemoteRunner, RemoteTerminal, Step};
|
use super::remote_runner::{RemoteRunner, RemoteTerminal, Step};
|
||||||
use crate::tests::utils::commands::{
|
|
||||||
CLOSE_PANE_IN_PANE_MODE, DETACH_IN_SESSION_MODE, ENTER, LOCK_MODE, NEW_TAB_IN_TAB_MODE,
|
pub const QUIT: [u8; 1] = [17]; // ctrl-q
|
||||||
PANE_MODE, QUIT, RESIZE_LEFT_IN_RESIZE_MODE, RESIZE_MODE, SCROLL_MODE,
|
pub const ESC: [u8; 1] = [27];
|
||||||
SCROLL_UP_IN_SCROLL_MODE, SESSION_MODE, SPLIT_RIGHT_IN_PANE_MODE, TAB_MODE,
|
pub const ENTER: [u8; 1] = [10]; // char '\n'
|
||||||
TOGGLE_ACTIVE_TERMINAL_FULLSCREEN_IN_PANE_MODE,
|
pub const LOCK_MODE: [u8; 1] = [7]; // ctrl-g
|
||||||
};
|
|
||||||
|
pub const MOVE_FOCUS_LEFT_IN_NORMAL_MODE: [u8; 2] = [27, 104]; // alt-h
|
||||||
|
pub const MOVE_FOCUS_RIGHT_IN_NORMAL_MODE: [u8; 2] = [27, 108]; // alt-l
|
||||||
|
|
||||||
|
pub const PANE_MODE: [u8; 1] = [16]; // ctrl-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] = [19]; // ctrl-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 SCROLL_PAGE_UP_IN_SCROLL_MODE: [u8; 1] = [2]; // ctrl-b
|
||||||
|
pub const SCROLL_PAGE_DOWN_IN_SCROLL_MODE: [u8; 1] = [6]; // ctrl-f
|
||||||
|
|
||||||
|
pub const RESIZE_MODE: [u8; 1] = [18]; // ctrl-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] = [20]; // ctrl-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
|
||||||
|
|
||||||
|
pub const SESSION_MODE: [u8; 1] = [15]; // ctrl-o
|
||||||
|
pub const DETACH_IN_SESSION_MODE: [u8; 1] = [100]; // d
|
||||||
|
|
||||||
|
pub const BRACKETED_PASTE_START: [u8; 6] = [27, 91, 50, 48, 48, 126]; // \u{1b}[200~
|
||||||
|
pub const BRACKETED_PASTE_END: [u8; 6] = [27, 91, 50, 48, 49, 126]; // \u{1b}[201
|
||||||
|
pub const SLEEP: [u8; 0] = [];
|
||||||
|
|
||||||
|
// simplified, slighty adapted version of alacritty mouse reporting code
|
||||||
|
pub fn normal_mouse_report(position: Position, button: u8) -> Vec<u8> {
|
||||||
|
let Position { line, column } = position;
|
||||||
|
|
||||||
|
let mut command = vec![b'\x1b', b'[', b'M', 32 + button];
|
||||||
|
command.push(32 + 1 + column.0 as u8);
|
||||||
|
command.push(32 + 1 + line.0 as u8);
|
||||||
|
|
||||||
|
command
|
||||||
|
}
|
||||||
|
|
||||||
// All the E2E tests are marked as "ignored" so that they can be run separately from the normal
|
// All the E2E tests are marked as "ignored" so that they can be run separately from the normal
|
||||||
// tests
|
// tests
|
||||||
|
|
@ -714,3 +768,172 @@ pub fn detach_and_attach_session() {
|
||||||
.run_all_steps();
|
.run_all_steps();
|
||||||
assert_snapshot!(last_snapshot);
|
assert_snapshot!(last_snapshot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[ignore]
|
||||||
|
pub fn accepts_basic_layout() {
|
||||||
|
let fake_win_size = PositionAndSize {
|
||||||
|
cols: 120,
|
||||||
|
rows: 24,
|
||||||
|
x: 0,
|
||||||
|
y: 0,
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
let layout_file_name = "three-panes-with-nesting.yaml";
|
||||||
|
let last_snapshot = RemoteRunner::new_with_layout("accepts_basic_layout", fake_win_size, layout_file_name, None)
|
||||||
|
.add_step(Step {
|
||||||
|
name: "Wait for app to load",
|
||||||
|
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
||||||
|
let mut step_is_complete = false;
|
||||||
|
if remote_terminal.cursor_position_is(2, 0)
|
||||||
|
&& remote_terminal.snapshot_contains("$ █ │$")
|
||||||
|
&& remote_terminal.snapshot_contains("$ ") {
|
||||||
|
step_is_complete = true;
|
||||||
|
}
|
||||||
|
step_is_complete
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.run_all_steps();
|
||||||
|
assert_snapshot!(last_snapshot);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[ignore]
|
||||||
|
fn focus_pane_with_mouse() {
|
||||||
|
let fake_win_size = PositionAndSize {
|
||||||
|
cols: 120,
|
||||||
|
rows: 24,
|
||||||
|
x: 0,
|
||||||
|
y: 0,
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
|
||||||
|
let last_snapshot = RemoteRunner::new("split_terminals_vertically", fake_win_size, None)
|
||||||
|
.add_step(Step {
|
||||||
|
name: "Split pane to the right",
|
||||||
|
instruction: |mut remote_terminal: RemoteTerminal| -> bool {
|
||||||
|
let mut step_is_complete = false;
|
||||||
|
if remote_terminal.status_bar_appears() && remote_terminal.cursor_position_is(2, 2)
|
||||||
|
{
|
||||||
|
remote_terminal.send_key(&PANE_MODE);
|
||||||
|
remote_terminal.send_key(&SPLIT_RIGHT_IN_PANE_MODE);
|
||||||
|
// back to normal mode after split
|
||||||
|
remote_terminal.send_key(&ENTER);
|
||||||
|
step_is_complete = true;
|
||||||
|
}
|
||||||
|
step_is_complete
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.add_step(Step {
|
||||||
|
name: "Click left pane",
|
||||||
|
instruction: |mut remote_terminal: RemoteTerminal| -> bool {
|
||||||
|
let mut step_is_complete = false;
|
||||||
|
if remote_terminal.cursor_position_is(63, 2) && remote_terminal.tip_appears() {
|
||||||
|
remote_terminal.send_key(&normal_mouse_report(Position::new(5, 2), 0));
|
||||||
|
step_is_complete = true;
|
||||||
|
}
|
||||||
|
step_is_complete
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.add_step(Step {
|
||||||
|
name: "Wait for left pane to be focused",
|
||||||
|
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
||||||
|
let mut step_is_complete = false;
|
||||||
|
if remote_terminal.cursor_position_is(2, 2) && remote_terminal.tip_appears() {
|
||||||
|
// cursor is in the newly opened second pane
|
||||||
|
step_is_complete = true;
|
||||||
|
}
|
||||||
|
step_is_complete
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.run_all_steps();
|
||||||
|
assert_snapshot!(last_snapshot);
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
#[ignore]
|
||||||
|
pub fn scrolling_inside_a_pane_with_mouse() {
|
||||||
|
let fake_win_size = PositionAndSize {
|
||||||
|
cols: 120,
|
||||||
|
rows: 24,
|
||||||
|
x: 0,
|
||||||
|
y: 0,
|
||||||
|
..Default::default()
|
||||||
|
};
|
||||||
|
let last_snapshot =
|
||||||
|
RemoteRunner::new("scrolling_inside_a_pane_with_mouse", fake_win_size, None)
|
||||||
|
.add_step(Step {
|
||||||
|
name: "Split pane to the right",
|
||||||
|
instruction: |mut remote_terminal: RemoteTerminal| -> bool {
|
||||||
|
let mut step_is_complete = false;
|
||||||
|
if remote_terminal.status_bar_appears()
|
||||||
|
&& remote_terminal.cursor_position_is(2, 2)
|
||||||
|
{
|
||||||
|
remote_terminal.send_key(&PANE_MODE);
|
||||||
|
remote_terminal.send_key(&SPLIT_RIGHT_IN_PANE_MODE);
|
||||||
|
// back to normal mode after split
|
||||||
|
remote_terminal.send_key(&ENTER);
|
||||||
|
step_is_complete = true;
|
||||||
|
}
|
||||||
|
step_is_complete
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.add_step(Step {
|
||||||
|
name: "Fill terminal with text",
|
||||||
|
instruction: |mut remote_terminal: RemoteTerminal| -> bool {
|
||||||
|
let mut step_is_complete = false;
|
||||||
|
if remote_terminal.cursor_position_is(63, 2) && remote_terminal.tip_appears() {
|
||||||
|
// cursor is in the newly opened second pane
|
||||||
|
remote_terminal.send_key(&format!("{:0<57}", "line1 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line2 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line3 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line4 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line5 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line6 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line7 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line8 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line9 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line10 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line11 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line12 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line13 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line14 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line15 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line16 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line17 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line18 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<59}", "line19 ").as_bytes());
|
||||||
|
remote_terminal.send_key(&format!("{:0<58}", "line20 ").as_bytes());
|
||||||
|
step_is_complete = true;
|
||||||
|
}
|
||||||
|
step_is_complete
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.add_step(Step {
|
||||||
|
name: "Scroll up inside pane",
|
||||||
|
instruction: |mut remote_terminal: RemoteTerminal| -> bool {
|
||||||
|
let mut step_is_complete = false;
|
||||||
|
if remote_terminal.cursor_position_is(119, 20) {
|
||||||
|
// all lines have been written to the pane
|
||||||
|
remote_terminal.send_key(&normal_mouse_report(Position::new(2, 64), 64));
|
||||||
|
step_is_complete = true;
|
||||||
|
}
|
||||||
|
step_is_complete
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.add_step(Step {
|
||||||
|
name: "Wait for scroll to finish",
|
||||||
|
instruction: |remote_terminal: RemoteTerminal| -> bool {
|
||||||
|
let mut step_is_complete = false;
|
||||||
|
if remote_terminal.cursor_position_is(119, 20)
|
||||||
|
&& remote_terminal.snapshot_contains("line1 ")
|
||||||
|
{
|
||||||
|
// scrolled up one line
|
||||||
|
step_is_complete = true;
|
||||||
|
}
|
||||||
|
step_is_complete
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.run_all_steps();
|
||||||
|
assert_snapshot!(last_snapshot);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,10 @@ use ssh2::Session;
|
||||||
use std::io::prelude::*;
|
use std::io::prelude::*;
|
||||||
use std::net::TcpStream;
|
use std::net::TcpStream;
|
||||||
|
|
||||||
|
use std::path::Path;
|
||||||
|
|
||||||
const ZELLIJ_EXECUTABLE_LOCATION: &str = "/usr/src/zellij/x86_64-unknown-linux-musl/debug/zellij";
|
const ZELLIJ_EXECUTABLE_LOCATION: &str = "/usr/src/zellij/x86_64-unknown-linux-musl/debug/zellij";
|
||||||
|
const ZELLIJ_LAYOUT_PATH: &str = "/usr/src/zellij/fixtures/layouts";
|
||||||
const CONNECTION_STRING: &str = "127.0.0.1:2222";
|
const CONNECTION_STRING: &str = "127.0.0.1:2222";
|
||||||
const CONNECTION_USERNAME: &str = "test";
|
const CONNECTION_USERNAME: &str = "test";
|
||||||
const CONNECTION_PASSWORD: &str = "test";
|
const CONNECTION_PASSWORD: &str = "test";
|
||||||
|
|
@ -54,6 +57,38 @@ fn start_zellij(channel: &mut ssh2::Channel, session_name: Option<&String>) {
|
||||||
channel.flush().unwrap();
|
channel.flush().unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn start_zellij_with_layout(
|
||||||
|
channel: &mut ssh2::Channel,
|
||||||
|
layout_path: &str,
|
||||||
|
session_name: Option<&String>,
|
||||||
|
) {
|
||||||
|
match session_name.as_ref() {
|
||||||
|
Some(name) => {
|
||||||
|
channel
|
||||||
|
.write_all(
|
||||||
|
format!(
|
||||||
|
"{} --layout-path {} --session {}\n",
|
||||||
|
ZELLIJ_EXECUTABLE_LOCATION, layout_path, name
|
||||||
|
)
|
||||||
|
.as_bytes(),
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
|
None => {
|
||||||
|
channel
|
||||||
|
.write_all(
|
||||||
|
format!(
|
||||||
|
"{} --layout-path {}\n",
|
||||||
|
ZELLIJ_EXECUTABLE_LOCATION, layout_path
|
||||||
|
)
|
||||||
|
.as_bytes(),
|
||||||
|
)
|
||||||
|
.unwrap();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
channel.flush().unwrap();
|
||||||
|
}
|
||||||
|
|
||||||
pub fn take_snapshot(terminal_output: &mut TerminalPane) -> String {
|
pub fn take_snapshot(terminal_output: &mut TerminalPane) -> String {
|
||||||
let output_lines = terminal_output.read_buffer_as_lines();
|
let output_lines = terminal_output.read_buffer_as_lines();
|
||||||
let cursor_coordinates = terminal_output.cursor_coordinates();
|
let cursor_coordinates = terminal_output.cursor_coordinates();
|
||||||
|
|
@ -107,6 +142,20 @@ impl<'a> RemoteTerminal<'a> {
|
||||||
pub fn snapshot_contains(&self, text: &str) -> bool {
|
pub fn snapshot_contains(&self, text: &str) -> bool {
|
||||||
self.current_snapshot.contains(text)
|
self.current_snapshot.contains(text)
|
||||||
}
|
}
|
||||||
|
#[allow(unused)]
|
||||||
|
pub fn current_snapshot(&self) -> String {
|
||||||
|
// convenience method for writing tests,
|
||||||
|
// this should only be used when developing,
|
||||||
|
// please prefer "snapsht_contains" instead
|
||||||
|
self.current_snapshot.clone()
|
||||||
|
}
|
||||||
|
#[allow(unused)]
|
||||||
|
pub fn current_cursor_position(&self) -> String {
|
||||||
|
// convenience method for writing tests,
|
||||||
|
// this should only be used when developing,
|
||||||
|
// please prefer "cursor_position_is" instead
|
||||||
|
format!("x: {}, y: {}", self.cursor_x, self.cursor_y)
|
||||||
|
}
|
||||||
pub fn send_key(&mut self, key: &[u8]) {
|
pub fn send_key(&mut self, key: &[u8]) {
|
||||||
self.channel.write(key).unwrap();
|
self.channel.write(key).unwrap();
|
||||||
self.channel.flush().unwrap();
|
self.channel.flush().unwrap();
|
||||||
|
|
@ -148,6 +197,7 @@ pub struct RemoteRunner {
|
||||||
currently_running_step: Option<String>,
|
currently_running_step: Option<String>,
|
||||||
retries_left: usize,
|
retries_left: usize,
|
||||||
win_size: PositionAndSize,
|
win_size: PositionAndSize,
|
||||||
|
layout_file_name: Option<&'static str>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl RemoteRunner {
|
impl RemoteRunner {
|
||||||
|
|
@ -173,6 +223,39 @@ impl RemoteRunner {
|
||||||
current_step_index: 0,
|
current_step_index: 0,
|
||||||
retries_left: 3,
|
retries_left: 3,
|
||||||
win_size,
|
win_size,
|
||||||
|
layout_file_name: None,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
pub fn new_with_layout(
|
||||||
|
test_name: &'static str,
|
||||||
|
win_size: PositionAndSize,
|
||||||
|
layout_file_name: &'static str,
|
||||||
|
session_name: Option<String>,
|
||||||
|
) -> Self {
|
||||||
|
// let layout_file_name = local_layout_path.file_name().unwrap();
|
||||||
|
let remote_path = Path::new(ZELLIJ_LAYOUT_PATH).join(layout_file_name); // TODO: not hardcoded
|
||||||
|
let sess = ssh_connect();
|
||||||
|
let mut channel = sess.channel_session().unwrap();
|
||||||
|
let vte_parser = vte::Parser::new();
|
||||||
|
let terminal_output = TerminalPane::new(0, win_size, Palette::default());
|
||||||
|
setup_remote_environment(&mut channel, win_size);
|
||||||
|
start_zellij_with_layout(
|
||||||
|
&mut channel,
|
||||||
|
&remote_path.to_string_lossy(),
|
||||||
|
session_name.as_ref(),
|
||||||
|
);
|
||||||
|
RemoteRunner {
|
||||||
|
steps: vec![],
|
||||||
|
channel,
|
||||||
|
terminal_output,
|
||||||
|
vte_parser,
|
||||||
|
session_name,
|
||||||
|
test_name,
|
||||||
|
currently_running_step: None,
|
||||||
|
current_step_index: 0,
|
||||||
|
retries_left: 3,
|
||||||
|
win_size,
|
||||||
|
layout_file_name: Some(layout_file_name),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pub fn add_step(mut self, step: Step) -> Self {
|
pub fn add_step(mut self, step: Step) -> Self {
|
||||||
|
|
@ -220,11 +303,25 @@ impl RemoteRunner {
|
||||||
// inside the container
|
// inside the container
|
||||||
format!("{}_{}", name, self.retries_left)
|
format!("{}_{}", name, self.retries_left)
|
||||||
});
|
});
|
||||||
let mut new_runner = RemoteRunner::new(self.test_name, self.win_size, session_name);
|
if let Some(layout_file_name) = self.layout_file_name.as_ref() {
|
||||||
new_runner.retries_left = self.retries_left - 1;
|
// let mut new_runner = RemoteRunner::new_with_layout(self.test_name, self.win_size, Path::new(&local_layout_path), session_name);
|
||||||
new_runner.replace_steps(self.steps.clone());
|
let mut new_runner = RemoteRunner::new_with_layout(
|
||||||
drop(std::mem::replace(self, new_runner));
|
self.test_name,
|
||||||
self.run_all_steps()
|
self.win_size,
|
||||||
|
layout_file_name,
|
||||||
|
session_name,
|
||||||
|
);
|
||||||
|
new_runner.retries_left = self.retries_left - 1;
|
||||||
|
new_runner.replace_steps(self.steps.clone());
|
||||||
|
drop(std::mem::replace(self, new_runner));
|
||||||
|
self.run_all_steps()
|
||||||
|
} else {
|
||||||
|
let mut new_runner = RemoteRunner::new(self.test_name, self.win_size, session_name);
|
||||||
|
new_runner.retries_left = self.retries_left - 1;
|
||||||
|
new_runner.replace_steps(self.steps.clone());
|
||||||
|
drop(std::mem::replace(self, new_runner));
|
||||||
|
self.run_all_steps()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
fn display_informative_error(&mut self) {
|
fn display_informative_error(&mut self) {
|
||||||
let test_name = self.test_name;
|
let test_name = self.test_name;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
source: src/tests/e2e/cases.rs
|
||||||
|
expression: last_snapshot
|
||||||
|
|
||||||
|
---
|
||||||
|
$ █ │$
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
───────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────
|
||||||
|
$
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
source: src/tests/e2e/cases.rs
|
||||||
|
expression: last_snapshot
|
||||||
|
|
||||||
|
---
|
||||||
|
Zellij Tab #1
|
||||||
|
|
||||||
|
$ █ │$
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
│
|
||||||
|
|
||||||
|
Ctrl + <g> LOCK <p> PANE <t> TAB <r> RESIZE <s> SCROLL <o> SESSION <q> QUIT
|
||||||
|
Tip: Alt + n => open new pane. Alt + [] or hjkl => navigate between panes.
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
source: src/tests/e2e/cases.rs
|
||||||
|
expression: last_snapshot
|
||||||
|
|
||||||
|
---
|
||||||
|
Zellij Tab #1
|
||||||
|
|
||||||
|
$ │$ line1 000000000000000000000000000000000000000000000000000
|
||||||
|
│line2 00000000000000000000000000000000000000000000000000000
|
||||||
|
│line3 00000000000000000000000000000000000000000000000000000
|
||||||
|
│line4 00000000000000000000000000000000000000000000000000000
|
||||||
|
│line5 00000000000000000000000000000000000000000000000000000
|
||||||
|
│line6 00000000000000000000000000000000000000000000000000000
|
||||||
|
│line7 00000000000000000000000000000000000000000000000000000
|
||||||
|
│line8 00000000000000000000000000000000000000000000000000000
|
||||||
|
│line9 00000000000000000000000000000000000000000000000000000
|
||||||
|
│line10 0000000000000000000000000000000000000000000000000000
|
||||||
|
│line11 0000000000000000000000000000000000000000000000000000
|
||||||
|
│line12 0000000000000000000000000000000000000000000000000000
|
||||||
|
│line13 0000000000000000000000000000000000000000000000000000
|
||||||
|
│line14 0000000000000000000000000000000000000000000000000000
|
||||||
|
│line15 0000000000000000000000000000000000000000000000000000
|
||||||
|
│line16 0000000000000000000000000000000000000000000000000000
|
||||||
|
│line17 0000000000000000000000000000000000000000000000000000
|
||||||
|
│line18 0000000000000000000000000000000000000000000000000000
|
||||||
|
│line19 000000000000000000000000000000000000000000000000000█
|
||||||
|
|
||||||
|
Ctrl + <g> LOCK <p> PANE <t> TAB <r> RESIZE <s> SCROLL <o> SESSION <q> QUIT
|
||||||
|
Tip: Alt + n => open new pane. Alt + [] or hjkl => navigate between panes.
|
||||||
|
|
@ -1,329 +0,0 @@
|
||||||
use std::collections::{HashMap, VecDeque};
|
|
||||||
use std::io::Write;
|
|
||||||
use std::os::unix::io::RawFd;
|
|
||||||
use std::path::PathBuf;
|
|
||||||
use std::sync::{Arc, Condvar, Mutex};
|
|
||||||
use std::time::{Duration, Instant};
|
|
||||||
|
|
||||||
use zellij_utils::{nix, zellij_tile};
|
|
||||||
|
|
||||||
use crate::tests::possible_tty_inputs::{get_possible_tty_inputs, Bytes};
|
|
||||||
use crate::tests::utils::commands::{QUIT, SLEEP};
|
|
||||||
use zellij_client::os_input_output::ClientOsApi;
|
|
||||||
use zellij_server::os_input_output::{async_trait, AsyncReader, Pid, ServerOsApi};
|
|
||||||
use zellij_tile::data::Palette;
|
|
||||||
use zellij_utils::{
|
|
||||||
async_std,
|
|
||||||
channels::{self, ChannelWithContext, SenderWithContext},
|
|
||||||
errors::ErrorContext,
|
|
||||||
interprocess::local_socket::LocalSocketStream,
|
|
||||||
ipc::{ClientToServerMsg, ServerToClientMsg},
|
|
||||||
pane_size::PositionAndSize,
|
|
||||||
shared::default_palette,
|
|
||||||
};
|
|
||||||
|
|
||||||
const MIN_TIME_BETWEEN_SNAPSHOTS: Duration = Duration::from_millis(150);
|
|
||||||
|
|
||||||
#[derive(Clone)]
|
|
||||||
pub enum IoEvent {
|
|
||||||
Kill(Pid),
|
|
||||||
SetTerminalSizeUsingFd(RawFd, u16, u16),
|
|
||||||
IntoRawMode(RawFd),
|
|
||||||
UnsetRawMode(RawFd),
|
|
||||||
TcDrain(RawFd),
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Clone)]
|
|
||||||
pub struct FakeStdoutWriter {
|
|
||||||
output_buffer: Arc<Mutex<Vec<u8>>>,
|
|
||||||
pub output_frames: Arc<Mutex<Vec<Vec<u8>>>>,
|
|
||||||
last_snapshot_time: Arc<Mutex<Instant>>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl FakeStdoutWriter {
|
|
||||||
pub fn new(last_snapshot_time: Arc<Mutex<Instant>>) -> Self {
|
|
||||||
FakeStdoutWriter {
|
|
||||||
output_buffer: Arc::new(Mutex::new(Vec::new())),
|
|
||||||
output_frames: Arc::new(Mutex::new(Vec::new())),
|
|
||||||
last_snapshot_time,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Write for FakeStdoutWriter {
|
|
||||||
fn write(&mut self, buf: &[u8]) -> Result<usize, std::io::Error> {
|
|
||||||
let mut output_buffer = self.output_buffer.lock().unwrap();
|
|
||||||
output_buffer.extend_from_slice(buf);
|
|
||||||
Ok(buf.len())
|
|
||||||
}
|
|
||||||
fn flush(&mut self) -> Result<(), std::io::Error> {
|
|
||||||
let mut output_buffer = self.output_buffer.lock().unwrap();
|
|
||||||
let mut output_frames = self.output_frames.lock().unwrap();
|
|
||||||
let new_frame = output_buffer.drain(..).collect();
|
|
||||||
output_frames.push(new_frame);
|
|
||||||
let mut last_snapshot_time = self.last_snapshot_time.lock().unwrap();
|
|
||||||
*last_snapshot_time = Instant::now();
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[derive(Clone)]
|
|
||||||
pub struct FakeInputOutput {
|
|
||||||
read_buffers: Arc<Mutex<HashMap<RawFd, Bytes>>>,
|
|
||||||
input_to_add: Arc<Mutex<Option<Vec<[u8; 10]>>>>,
|
|
||||||
stdin_commands: Arc<Mutex<VecDeque<Vec<u8>>>>,
|
|
||||||
stdin_writes: Arc<Mutex<HashMap<RawFd, Vec<u8>>>>,
|
|
||||||
pub stdout_writer: FakeStdoutWriter, // stdout_writer.output is already an arc/mutex
|
|
||||||
io_events: Arc<Mutex<Vec<IoEvent>>>,
|
|
||||||
win_sizes: Arc<Mutex<HashMap<RawFd, PositionAndSize>>>,
|
|
||||||
possible_tty_inputs: HashMap<u16, Bytes>,
|
|
||||||
last_snapshot_time: Arc<Mutex<Instant>>,
|
|
||||||
send_instructions_to_client: SenderWithContext<ServerToClientMsg>,
|
|
||||||
receive_instructions_from_server:
|
|
||||||
Arc<Mutex<channels::Receiver<(ServerToClientMsg, ErrorContext)>>>,
|
|
||||||
send_instructions_to_server: SenderWithContext<ClientToServerMsg>,
|
|
||||||
receive_instructions_from_client:
|
|
||||||
Arc<Mutex<channels::Receiver<(ClientToServerMsg, ErrorContext)>>>,
|
|
||||||
should_trigger_sigwinch: Arc<(Mutex<bool>, Condvar)>,
|
|
||||||
sigwinch_event: Option<PositionAndSize>,
|
|
||||||
}
|
|
||||||
|
|
||||||
impl FakeInputOutput {
|
|
||||||
pub fn new(winsize: PositionAndSize) -> Self {
|
|
||||||
let mut win_sizes = HashMap::new();
|
|
||||||
let last_snapshot_time = Arc::new(Mutex::new(Instant::now()));
|
|
||||||
let stdout_writer = FakeStdoutWriter::new(last_snapshot_time.clone());
|
|
||||||
let (client_sender, client_receiver): ChannelWithContext<ServerToClientMsg> =
|
|
||||||
channels::unbounded();
|
|
||||||
let send_instructions_to_client = SenderWithContext::new(client_sender);
|
|
||||||
let (server_sender, server_receiver): ChannelWithContext<ClientToServerMsg> =
|
|
||||||
channels::unbounded();
|
|
||||||
let send_instructions_to_server = SenderWithContext::new(server_sender);
|
|
||||||
win_sizes.insert(0, winsize); // 0 is the current terminal
|
|
||||||
FakeInputOutput {
|
|
||||||
read_buffers: Arc::new(Mutex::new(HashMap::new())),
|
|
||||||
stdin_writes: Arc::new(Mutex::new(HashMap::new())),
|
|
||||||
input_to_add: Arc::new(Mutex::new(None)),
|
|
||||||
stdin_commands: Arc::new(Mutex::new(VecDeque::new())),
|
|
||||||
stdout_writer,
|
|
||||||
last_snapshot_time,
|
|
||||||
io_events: Arc::new(Mutex::new(vec![])),
|
|
||||||
win_sizes: Arc::new(Mutex::new(win_sizes)),
|
|
||||||
possible_tty_inputs: get_possible_tty_inputs(),
|
|
||||||
receive_instructions_from_client: Arc::new(Mutex::new(server_receiver)),
|
|
||||||
send_instructions_to_server,
|
|
||||||
receive_instructions_from_server: Arc::new(Mutex::new(client_receiver)),
|
|
||||||
send_instructions_to_client,
|
|
||||||
should_trigger_sigwinch: Arc::new((Mutex::new(false), Condvar::new())),
|
|
||||||
sigwinch_event: None,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
pub fn with_tty_inputs(mut self, tty_inputs: HashMap<u16, Bytes>) -> Self {
|
|
||||||
self.possible_tty_inputs = tty_inputs;
|
|
||||||
self
|
|
||||||
}
|
|
||||||
pub fn add_terminal_input(&mut self, input: &[&[u8]]) {
|
|
||||||
let stdin_commands = input.iter().map(|i| i.to_vec()).collect();
|
|
||||||
self.stdin_commands = Arc::new(Mutex::new(stdin_commands));
|
|
||||||
}
|
|
||||||
pub fn add_terminal(&self, fd: RawFd) {
|
|
||||||
self.stdin_writes.lock().unwrap().insert(fd, vec![]);
|
|
||||||
}
|
|
||||||
pub fn add_sigwinch_event(&mut self, new_position_and_size: PositionAndSize) {
|
|
||||||
self.sigwinch_event = Some(new_position_and_size);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl ClientOsApi for FakeInputOutput {
|
|
||||||
fn get_terminal_size_using_fd(&self, pid: RawFd) -> PositionAndSize {
|
|
||||||
if let Some(new_position_and_size) = self.sigwinch_event {
|
|
||||||
let (lock, _cvar) = &*self.should_trigger_sigwinch;
|
|
||||||
let should_trigger_sigwinch = lock.lock().unwrap();
|
|
||||||
if *should_trigger_sigwinch && pid == 0 {
|
|
||||||
return new_position_and_size;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let win_sizes = self.win_sizes.lock().unwrap();
|
|
||||||
let winsize = win_sizes.get(&pid).unwrap();
|
|
||||||
*winsize
|
|
||||||
}
|
|
||||||
fn set_raw_mode(&mut self, pid: RawFd) {
|
|
||||||
self.io_events
|
|
||||||
.lock()
|
|
||||||
.unwrap()
|
|
||||||
.push(IoEvent::IntoRawMode(pid));
|
|
||||||
}
|
|
||||||
fn unset_raw_mode(&self, pid: RawFd) {
|
|
||||||
self.io_events
|
|
||||||
.lock()
|
|
||||||
.unwrap()
|
|
||||||
.push(IoEvent::UnsetRawMode(pid));
|
|
||||||
}
|
|
||||||
fn box_clone(&self) -> Box<dyn ClientOsApi> {
|
|
||||||
Box::new((*self).clone())
|
|
||||||
}
|
|
||||||
fn read_from_stdin(&self) -> Vec<u8> {
|
|
||||||
loop {
|
|
||||||
let last_snapshot_time = { *self.last_snapshot_time.lock().unwrap() };
|
|
||||||
if last_snapshot_time.elapsed() > MIN_TIME_BETWEEN_SNAPSHOTS {
|
|
||||||
break;
|
|
||||||
} else {
|
|
||||||
::std::thread::sleep(MIN_TIME_BETWEEN_SNAPSHOTS - last_snapshot_time.elapsed());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
let command = self
|
|
||||||
.stdin_commands
|
|
||||||
.lock()
|
|
||||||
.unwrap()
|
|
||||||
.pop_front()
|
|
||||||
.unwrap_or(vec![]);
|
|
||||||
if command == SLEEP {
|
|
||||||
std::thread::sleep(std::time::Duration::from_millis(200));
|
|
||||||
} else if command == QUIT && self.sigwinch_event.is_some() {
|
|
||||||
let (lock, cvar) = &*self.should_trigger_sigwinch;
|
|
||||||
{
|
|
||||||
let mut should_trigger_sigwinch = lock.lock().unwrap();
|
|
||||||
*should_trigger_sigwinch = true;
|
|
||||||
}
|
|
||||||
cvar.notify_one();
|
|
||||||
::std::thread::sleep(MIN_TIME_BETWEEN_SNAPSHOTS); // give some time for the app to resize before quitting
|
|
||||||
} else if command == QUIT {
|
|
||||||
::std::thread::sleep(MIN_TIME_BETWEEN_SNAPSHOTS);
|
|
||||||
}
|
|
||||||
command
|
|
||||||
}
|
|
||||||
fn get_stdout_writer(&self) -> Box<dyn Write> {
|
|
||||||
Box::new(self.stdout_writer.clone())
|
|
||||||
}
|
|
||||||
fn send_to_server(&self, msg: ClientToServerMsg) {
|
|
||||||
self.send_instructions_to_server.send(msg).unwrap();
|
|
||||||
}
|
|
||||||
fn recv_from_server(&self) -> (ServerToClientMsg, ErrorContext) {
|
|
||||||
self.receive_instructions_from_server
|
|
||||||
.lock()
|
|
||||||
.unwrap()
|
|
||||||
.recv()
|
|
||||||
.unwrap()
|
|
||||||
}
|
|
||||||
fn handle_signals(&self, sigwinch_cb: Box<dyn Fn()>, _quit_cb: Box<dyn Fn()>) {
|
|
||||||
if self.sigwinch_event.is_some() {
|
|
||||||
let (lock, cvar) = &*self.should_trigger_sigwinch;
|
|
||||||
{
|
|
||||||
let mut should_trigger_sigwinch = lock.lock().unwrap();
|
|
||||||
while !*should_trigger_sigwinch {
|
|
||||||
should_trigger_sigwinch = cvar.wait(should_trigger_sigwinch).unwrap();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
sigwinch_cb();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fn connect_to_server(&self, _path: &std::path::Path) {}
|
|
||||||
fn load_palette(&self) -> Palette {
|
|
||||||
default_palette()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
struct FakeAsyncReader {
|
|
||||||
fd: RawFd,
|
|
||||||
os_api: Box<dyn ServerOsApi>,
|
|
||||||
}
|
|
||||||
|
|
||||||
#[async_trait]
|
|
||||||
impl AsyncReader for FakeAsyncReader {
|
|
||||||
async fn read(&mut self, buf: &mut [u8]) -> Result<usize, std::io::Error> {
|
|
||||||
// simulates async semantics: EAGAIN is not propagated to caller
|
|
||||||
loop {
|
|
||||||
let res = self.os_api.read_from_tty_stdout(self.fd, buf);
|
|
||||||
match res {
|
|
||||||
Err(nix::Error::Sys(nix::errno::Errno::EAGAIN)) => {
|
|
||||||
async_std::task::sleep(Duration::from_millis(10)).await;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
Err(e) => {
|
|
||||||
break Err(std::io::Error::from_raw_os_error(
|
|
||||||
e.as_errno().unwrap() as i32
|
|
||||||
))
|
|
||||||
}
|
|
||||||
Ok(n_bytes) => break Ok(n_bytes),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl ServerOsApi for FakeInputOutput {
|
|
||||||
fn set_terminal_size_using_fd(&self, pid: RawFd, cols: u16, rows: u16) {
|
|
||||||
let terminal_input = self
|
|
||||||
.possible_tty_inputs
|
|
||||||
.get(&cols)
|
|
||||||
.expect(&format!("could not find input for size {:?}", cols));
|
|
||||||
self.read_buffers
|
|
||||||
.lock()
|
|
||||||
.unwrap()
|
|
||||||
.insert(pid, terminal_input.clone());
|
|
||||||
self.io_events
|
|
||||||
.lock()
|
|
||||||
.unwrap()
|
|
||||||
.push(IoEvent::SetTerminalSizeUsingFd(pid, cols, rows));
|
|
||||||
}
|
|
||||||
fn spawn_terminal(&self, _file_to_open: Option<PathBuf>) -> (RawFd, Pid) {
|
|
||||||
let next_terminal_id = self.stdin_writes.lock().unwrap().keys().len() as RawFd + 1;
|
|
||||||
self.add_terminal(next_terminal_id);
|
|
||||||
(
|
|
||||||
next_terminal_id as i32,
|
|
||||||
Pid::from_raw(next_terminal_id + 1000),
|
|
||||||
) // secondary number is arbitrary here
|
|
||||||
}
|
|
||||||
fn write_to_tty_stdin(&self, pid: RawFd, buf: &[u8]) -> Result<usize, nix::Error> {
|
|
||||||
let mut stdin_writes = self.stdin_writes.lock().unwrap();
|
|
||||||
let write_buffer = stdin_writes.get_mut(&pid).unwrap();
|
|
||||||
Ok(write_buffer.write(buf).unwrap())
|
|
||||||
}
|
|
||||||
fn read_from_tty_stdout(&self, pid: RawFd, mut buf: &mut [u8]) -> Result<usize, nix::Error> {
|
|
||||||
let mut read_buffers = self.read_buffers.lock().unwrap();
|
|
||||||
match read_buffers.get_mut(&pid) {
|
|
||||||
Some(bytes) => {
|
|
||||||
let available_range = bytes.read_position..bytes.content.len();
|
|
||||||
let len = buf.write(&bytes.content[available_range]).unwrap();
|
|
||||||
if len > bytes.read_position {
|
|
||||||
bytes.set_read_position(len);
|
|
||||||
}
|
|
||||||
return Ok(len);
|
|
||||||
}
|
|
||||||
None => Err(nix::Error::Sys(nix::errno::Errno::EAGAIN)),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
fn async_file_reader(&self, fd: RawFd) -> Box<dyn AsyncReader> {
|
|
||||||
Box::new(FakeAsyncReader {
|
|
||||||
fd,
|
|
||||||
os_api: ServerOsApi::box_clone(self),
|
|
||||||
})
|
|
||||||
}
|
|
||||||
fn tcdrain(&self, pid: RawFd) -> Result<(), nix::Error> {
|
|
||||||
self.io_events.lock().unwrap().push(IoEvent::TcDrain(pid));
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
fn box_clone(&self) -> Box<dyn ServerOsApi> {
|
|
||||||
Box::new((*self).clone())
|
|
||||||
}
|
|
||||||
fn kill(&self, pid: Pid) -> Result<(), nix::Error> {
|
|
||||||
self.io_events.lock().unwrap().push(IoEvent::Kill(pid));
|
|
||||||
Ok(())
|
|
||||||
}
|
|
||||||
fn recv_from_client(&self) -> (ClientToServerMsg, ErrorContext) {
|
|
||||||
self.receive_instructions_from_client
|
|
||||||
.lock()
|
|
||||||
.unwrap()
|
|
||||||
.recv()
|
|
||||||
.unwrap()
|
|
||||||
}
|
|
||||||
fn send_to_client(&self, msg: ServerToClientMsg) {
|
|
||||||
self.send_instructions_to_client.send(msg).unwrap();
|
|
||||||
}
|
|
||||||
fn add_client_sender(&self) {}
|
|
||||||
fn remove_client_sender(&self) {}
|
|
||||||
fn send_to_temp_client(&self, _msg: ServerToClientMsg) {}
|
|
||||||
fn update_receiver(&mut self, _stream: LocalSocketStream) {}
|
|
||||||
fn load_palette(&self) -> Palette {
|
|
||||||
default_palette()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
59
src/tests/fixtures/grid_copy
vendored
Executable file
59
src/tests/fixtures/grid_copy
vendored
Executable file
|
|
@ -0,0 +1,59 @@
|
||||||
|
[2m⏎(B[m
⏎
[KWelcome to fish, the friendly interactive shell
|
||||||
|
Type `help` for instructions on how to use fish
|
||||||
|
[?2004h]0;fish /home/thomas/Projects/zellij[30m(B[m[J[K
|
||||||
|
[1;36mzellij[0m on [1;35m mouse-support[0m [1;31m[?][0m is [1;38;5;208m📦 v0.14.0[0m via [1;31m🦀 v1.53.0-beta.3 [0m[K
|
||||||
|
[1;32m❯[0m [K
[C[Cc[J[38;2;255;0;0mc[30m(B[m[38;2;85;85;85mat test-input.txt[17D[30m(B[m[38;2;255;0;0ma[38;2;85;85;85mt test-input.txt[16D[30m(B[m[38;2;255;0;0mt[38;2;85;85;85m test-input.txt[15D[30m(B[m[38;2;0;95;215mcat[38;2;85;85;85m test-input.txt[15D[30m(B[m[38;2;0;95;215m test-input.txt[30m(B[m[15D [38;2;0;175;255m[4mtest-input.txt[30m(B[m
|
||||||
|
[30m(B[m[?2004l]0;cat test-input.txt /home/thomas/Projects/zellij[30m(B[m
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
|
||||||
|
Velit ut tortor pretium viverra suspendisse potenti nullam ac tortor. Adipiscing elit ut aliquam purus sit amet luctus venenatis.
|
||||||
|
Duis ut diam quam nulla porttitor massa id neque aliquam. Suspendisse potenti nullam ac tortor vitae purus faucibus ornare suspendisse.
|
||||||
|
Vitae nunc sed velit dignissim sodales ut eu sem integer.
|
||||||
|
Tortor id aliquet lectus proin nibh nisl.
|
||||||
|
Commodo odio aenean sed adipiscing diam donec adipiscing tristique risus.
|
||||||
|
Velit dignissim sodales ut eu sem. Lacus suspendisse faucibus interdum posuere lorem. Ac placerat vestibulum lectus mauris ultrices eros. Elementum integer enim neque volutpat ac. Augue interdum velit euismod in.
|
||||||
|
|
||||||
|
Egestas sed sed risus pretium quam vulputate dignissim.
|
||||||
|
Gravida rutrum quisque non tellus orci ac auctor augue.
|
||||||
|
Risus nec feugiat in fermentum posuere urna nec tincidunt praesent.
|
||||||
|
Elementum eu facilisis sed odio morbi quis.
|
||||||
|
Mattis ullamcorper velit sed ullamcorper morbi.
|
||||||
|
Dui vivamus arcu felis bibendum. Sit amet aliquam id diam.
|
||||||
|
Suscipit tellus mauris a diam maecenas sed enim.
|
||||||
|
Odio ut sem nulla pharetra.
|
||||||
|
Cras ornare arcu dui vivamus arcu felis bibendum.
|
||||||
|
Egestas fringilla phasellus faucibus scelerisque eleifend.
|
||||||
|
Purus semper eget duis at tellus at urna condimentum.
|
||||||
|
Aliquam etiam erat velit scelerisque in dictum non.
|
||||||
|
Porta non pulvinar neque laoreet suspendisse interdum consectetur.
|
||||||
|
Tempor nec feugiat nisl pretium. Sit amet consectetur adipiscing elit.
|
||||||
|
Cras semper auctor neque vitae tempus quam pellentesque.
|
||||||
|
Laoreet non curabitur gravida arcu ac tortor dignissim.
|
||||||
|
Sed nisi lacus sed viverra tellus in.
|
||||||
|
Rutrum tellus pellentesque eu tincidunt tortor aliquam nulla.
|
||||||
|
|
||||||
|
Nascetur ridiculus mus mauris vitae ultricies leo integer malesuada.
|
||||||
|
Interdum posuere lorem ipsum dolor sit amet consectetur.
|
||||||
|
Porta non pulvinar neque laoreet suspendisse interdum.
|
||||||
|
Fames ac turpis egestas integer eget aliquet nibh praesent.
|
||||||
|
Congue nisi vitae suscipit tellus mauris a diam maecenas sed.
|
||||||
|
Nec ultrices dui sapien eget mi proin sed libero enim.
|
||||||
|
Tellus rutrum tellus pellentesque eu tincidunt.
|
||||||
|
Ultrices eros in cursus turpis massa tincidunt dui ut ornare.
|
||||||
|
Arcu cursus vitae congue mauris rhoncus aenean vel elit scelerisque.
|
||||||
|
Viverra mauris in aliquam sem fringilla ut.
|
||||||
|
Vulputate eu scelerisque felis imperdiet proin fermentum leo.
|
||||||
|
Cursus risus at ultrices mi tempus.
|
||||||
|
Laoreet id donec ultrices tincidunt arcu non sodales.
|
||||||
|
Amet dictum sit amet justo donec enim.
|
||||||
|
Hac habitasse platea dictumst vestibulum rhoncus est pellentesque.
|
||||||
|
Facilisi cras fermentum odio eu feugiat.
|
||||||
|
Elit ut aliquam purus sit amet luctus venenatis lectus.
|
||||||
|
Dignissim enim sit amet venenatis urna cursus.
|
||||||
|
Amet consectetur adipiscing elit ut aliquam purus.
|
||||||
|
Elementum pulvinar etiam non quam lacus suspendisse.
|
||||||
|
|
||||||
|
Quisque id diam vel quam. Id porta nibh venenatis cras sed felis eget velit aliquet. Sagittis aliquam malesuada bibendum arcu. Libero id faucibus nisl tincidunt eget nullam non. Sed elementum tempus egestas sed sed risus pretium quam vulputate. Turpis egestas maecenas pharetra convallis. Arcu cursus vitae congue mauris rhoncus aenean vel. Augue ut lectus arcu bibendum. Scelerisque varius morbi enim nunc faucibus a pellentesque. Mattis pellentesque id nibh tortor id aliquet lectus proin nibh. In aliquam sem fringilla ut. Urna et pharetra pharetra massa massa ultricies mi. Enim nulla aliquet porttitor lacus luctus accumsan tortor posuere. Malesuada fames ac turpis egestas integer. Venenatis tellus in metus vulputate eu scelerisque felis. Suspendisse faucibus interdum posuere lorem ipsum dolor sit amet.
|
||||||
|
|
||||||
|
Quam elementum pulvinar etiam non quam lacus suspendisse faucibus. Egestas sed sed risus pretium quam vulputate dignissim suspendisse. Risus nec feugiat in fermentum posuere urna. Vestibulum lorem sed risus ultricies. Egestas maecenas pharetra convallis posuere morbi. Egestas tellus rutrum tellus pellentesque. Pulvinar etiam non quam lacus suspendisse faucibus. Lectus proin nibh nisl condimentum id venenatis a condimentum. Adipiscing elit pellentesque habitant morbi tristique senectus et netus. Nunc id cursus metus aliquam eleifend. Urna nec tincidunt praesent semper feugiat nibh sed pulvinar. Donec ultrices tincidunt arcu non sodales neque sodales ut etiam. Suspendisse sed nisi lacus sed viverra tellus in hac habitasse. Nunc scelerisque viverra mauris in aliquam sem fringilla.
|
||||||
|
[2m⏎(B[m
⏎
[K[?2004h]0;fish /home/thomas/Projects/zellij[30m(B[m[J[K
|
||||||
|
[1;36mzellij[0m on [1;35m mouse-support[0m [1;31m[?][0m is [1;38;5;208m📦 v0.14.0[0m via [1;31m🦀 v1.53.0-beta.3 [0m[K
|
||||||
|
[1;32m❯[0m [K
|
||||||
|
|
@ -1,498 +0,0 @@
|
||||||
use ::insta::assert_snapshot;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::commands::{
|
|
||||||
BRACKETED_PASTE_END, BRACKETED_PASTE_START, PANE_MODE, QUIT, SCROLL_DOWN_IN_SCROLL_MODE,
|
|
||||||
SCROLL_MODE, SCROLL_PAGE_DOWN_IN_SCROLL_MODE, SCROLL_PAGE_UP_IN_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::CliArgs;
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
|
|
||||||
FakeInputOutput::new(fake_win_size.clone())
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn starts_with_one_terminal() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn split_terminals_vertically() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[&PANE_MODE, &SPLIT_RIGHT_IN_PANE_MODE, &QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn split_terminals_horizontally() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[&PANE_MODE, &SPLIT_DOWN_IN_PANE_MODE, &QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn split_largest_terminal() {
|
|
||||||
// this finds the largest pane and splits along its longest edge (vertically or horizontally)
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn cannot_split_terminals_vertically_when_active_terminal_is_too_small() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 8,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[&PANE_MODE, &SPLIT_RIGHT_IN_PANE_MODE, &QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn cannot_split_terminals_horizontally_when_active_terminal_is_too_small() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 4,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[&PANE_MODE, &SPLIT_DOWN_IN_PANE_MODE, &QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn cannot_split_largest_terminal_when_there_is_no_room() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 8,
|
|
||||||
rows: 4,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[&PANE_MODE, &SPAWN_TERMINAL_IN_PANE_MODE, &QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn scrolling_up_inside_a_pane() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SCROLL_MODE,
|
|
||||||
&SCROLL_UP_IN_SCROLL_MODE,
|
|
||||||
&SCROLL_UP_IN_SCROLL_MODE,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn scrolling_down_inside_a_pane() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn scrolling_page_up_inside_a_pane() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SCROLL_MODE,
|
|
||||||
&SCROLL_PAGE_UP_IN_SCROLL_MODE,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn scrolling_page_down_inside_a_pane() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SCROLL_MODE,
|
|
||||||
&SCROLL_PAGE_UP_IN_SCROLL_MODE,
|
|
||||||
&SCROLL_PAGE_UP_IN_SCROLL_MODE,
|
|
||||||
&SCROLL_PAGE_DOWN_IN_SCROLL_MODE,
|
|
||||||
&SCROLL_PAGE_DOWN_IN_SCROLL_MODE,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn max_panes() {
|
|
||||||
// with the --max-panes option, we only allow a certain amount of panes on screen
|
|
||||||
// simultaneously, new panes beyond this limit will close older panes on screen
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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();
|
|
||||||
opts.max_panes = Some(4);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
opts,
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn toggle_focused_pane_fullscreen() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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();
|
|
||||||
opts.max_panes = Some(4);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
opts,
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn bracketed_paste() {
|
|
||||||
// bracketed paste (https://xfree86.org/current/ctlseqs.html#Bracketed%20Paste%20Mode)
|
|
||||||
// makes sure that text the user pastes is not interpreted as commands by the running program
|
|
||||||
// (zellij in this case)
|
|
||||||
// this tests makes sure the "SPLIT_RIGHT_IN_PANE_MODE" command is not interpreted as Zellij,
|
|
||||||
// since it's inside a bracketed paste block, while the "QUIT" command is, since it is already
|
|
||||||
// past the block
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&BRACKETED_PASTE_START,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&BRACKETED_PASTE_END,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
@ -1,674 +0,0 @@
|
||||||
use ::insta::assert_snapshot;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
|
|
||||||
use crate::CliArgs;
|
|
||||||
|
|
||||||
use crate::tests::utils::commands::{
|
|
||||||
CLOSE_PANE_IN_PANE_MODE, 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,
|
|
||||||
SLEEP, SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
};
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
|
|
||||||
FakeInputOutput::new(fake_win_size.clone())
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_another_pane_above_it() {
|
|
||||||
// ┌───────────┐ ┌───────────┐
|
|
||||||
// │xxxxxxxxxxx│ │xxxxxxxxxxx│
|
|
||||||
// │xxxxxxxxxxx│ │xxxxxxxxxxx│
|
|
||||||
// ├───────────┤ ==close==> │xxxxxxxxxxx│
|
|
||||||
// │███████████│ │xxxxxxxxxxx│
|
|
||||||
// │███████████│ │xxxxxxxxxxx│
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&CLOSE_PANE_IN_PANE_MODE,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_another_pane_below_it() {
|
|
||||||
// ┌───────────┐ ┌───────────┐
|
|
||||||
// │███████████│ │xxxxxxxxxxx│
|
|
||||||
// │███████████│ │xxxxxxxxxxx│
|
|
||||||
// ├───────────┤ ==close==> │xxxxxxxxxxx│
|
|
||||||
// │xxxxxxxxxxx│ │xxxxxxxxxxx│
|
|
||||||
// │xxxxxxxxxxx│ │xxxxxxxxxxx│
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_another_pane_to_the_left() {
|
|
||||||
// ┌─────┬─────┐ ┌──────────┐
|
|
||||||
// │xxxxx│█████│ │xxxxxxxxxx│
|
|
||||||
// │xxxxx│█████│ ==close==> │xxxxxxxxxx│
|
|
||||||
// │xxxxx│█████│ │xxxxxxxxxx│
|
|
||||||
// └─────┴─────┘ └──────────┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&CLOSE_PANE_IN_PANE_MODE,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_another_pane_to_the_right() {
|
|
||||||
// ┌─────┬─────┐ ┌──────────┐
|
|
||||||
// │█████│xxxxx│ │xxxxxxxxxx│
|
|
||||||
// │█████│xxxxx│ ==close==> │xxxxxxxxxx│
|
|
||||||
// │█████│xxxxx│ │xxxxxxxxxx│
|
|
||||||
// └─────┴─────┘ └──────────┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_multiple_panes_above_it() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │xxxxx│xxxxx│ │xxxxx│xxxxx│
|
|
||||||
// │xxxxx│xxxxx│ │xxxxx│xxxxx│
|
|
||||||
// ├─────┴─────┤ ==close==> │xxxxx│xxxxx│
|
|
||||||
// │███████████│ │xxxxx│xxxxx│
|
|
||||||
// │███████████│ │xxxxx│xxxxx│
|
|
||||||
// └───────────┘ └─────┴─────┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_multiple_panes_below_it() {
|
|
||||||
// ┌───────────┐ ┌─────┬─────┐
|
|
||||||
// │███████████│ │xxxxx│xxxxx│
|
|
||||||
// │███████████│ │xxxxx│xxxxx│
|
|
||||||
// ├─────┬─────┤ ==close==> │xxxxx│xxxxx│
|
|
||||||
// │xxxxx│xxxxx│ │xxxxx│xxxxx│
|
|
||||||
// │xxxxx│xxxxx│ │xxxxx│xxxxx│
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_multiple_panes_to_the_left() {
|
|
||||||
// ┌─────┬─────┐ ┌──────────┐
|
|
||||||
// │xxxxx│█████│ │xxxxxxxxxx│
|
|
||||||
// │xxxxx│█████│ │xxxxxxxxxx│
|
|
||||||
// ├─────┤█████│ ==close==> ├──────────┤
|
|
||||||
// │xxxxx│█████│ │xxxxxxxxxx│
|
|
||||||
// │xxxxx│█████│ │xxxxxxxxxx│
|
|
||||||
// └─────┴─────┘ └──────────┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_multiple_panes_to_the_right() {
|
|
||||||
// ┌─────┬─────┐ ┌──────────┐
|
|
||||||
// │█████│xxxxx│ │xxxxxxxxxx│
|
|
||||||
// │█████│xxxxx│ │xxxxxxxxxx│
|
|
||||||
// │█████├─────┤ ==close==> ├──────────┤
|
|
||||||
// │█████│xxxxx│ │xxxxxxxxxx│
|
|
||||||
// │█████│xxxxx│ │xxxxxxxxxx│
|
|
||||||
// └─────┴─────┘ └──────────┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_multiple_panes_above_it_away_from_screen_edges() {
|
|
||||||
// ┌───┬───┬───┬───┐ ┌───┬───┬───┬───┐
|
|
||||||
// │xxx│xxx│xxx│xxx│ │xxx│xxx│xxx│xxx│
|
|
||||||
// ├───┤xxx│xxx├───┤ ├───┤xxx│xxx├───┤
|
|
||||||
// │xxx├───┴───┤xxx│ ==close==> │xxx│xxx│xxx│xxx│
|
|
||||||
// │xxx│███████│xxx│ │xxx│xxx│xxx│xxx│
|
|
||||||
// │xxx│███████│xxx│ │xxx│xxx│xxx│xxx│
|
|
||||||
// └───┴───────┴───┘ └───┴───┴───┴───┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&ESC,
|
|
||||||
&PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&ESC,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&ESC,
|
|
||||||
&PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_multiple_panes_below_it_away_from_screen_edges() {
|
|
||||||
// ┌───┬───────┬───┐ ┌───┬───┬───┬───┐
|
|
||||||
// │xxx│███████│xxx│ │xxx│xxx│xxx│xxx│
|
|
||||||
// │xxx│███████│xxx│ │xxx│xxx│xxx│xxx│
|
|
||||||
// │xxx├───┬───┤xxx│ ==close==> │xxx│xxx│xxx│xxx│
|
|
||||||
// ├───┤xxx│xxx├───┤ ├───┤xxx│xxx├───┤
|
|
||||||
// │xxx│xxx│xxx│xxx│ │xxx│xxx│xxx│xxx│
|
|
||||||
// └───┴───┴───┴───┘ └───┴───┴───┴───┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_multiple_panes_to_the_left_away_from_screen_edges() {
|
|
||||||
// ┌────┬──────┐ ┌────┬──────┐
|
|
||||||
// │xxxx│xxxxxx│ │xxxx│xxxxxx│
|
|
||||||
// ├────┴┬─────┤ ├────┴──────┤
|
|
||||||
// │xxxxx│█████│ │xxxxxxxxxxx│
|
|
||||||
// ├─────┤█████│ ==close==> ├───────────┤
|
|
||||||
// │xxxxx│█████│ │xxxxxxxxxxx│
|
|
||||||
// ├────┬┴─────┤ ├────┬──────┤
|
|
||||||
// │xxxx│xxxxxx│ │xxxx│xxxxxx│
|
|
||||||
// └────┴──────┘ └────┴──────┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 30,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn close_pane_with_multiple_panes_to_the_right_away_from_screen_edges() {
|
|
||||||
// ┌────┬──────┐ ┌────┬──────┐
|
|
||||||
// │xxxx│xxxxxx│ │xxxx│xxxxxx│
|
|
||||||
// ├────┴┬─────┤ ├────┴──────┤
|
|
||||||
// │█████│xxxxx│ │xxxxxxxxxxx│
|
|
||||||
// │█████├─────┤ ==close==> ├───────────┤
|
|
||||||
// │█████│xxxxx│ │xxxxxxxxxxx│
|
|
||||||
// ├────┬┴─────┤ ├────┬──────┤
|
|
||||||
// │xxxx│xxxxxx│ │xxxx│xxxxxx│
|
|
||||||
// └────┴──────┘ └────┴──────┘
|
|
||||||
// █ == pane being closed
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 30,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn closing_last_pane_exits_app() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
@ -1,681 +0,0 @@
|
||||||
use ::insta::assert_snapshot;
|
|
||||||
use ::std::collections::HashMap;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::possible_tty_inputs::Bytes;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
|
|
||||||
use crate::CliArgs;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
use crate::tests::utils::commands::{QUIT, SLEEP};
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* These tests are general compatibility tests for non-trivial scenarios running in the terminal.
|
|
||||||
* They use fake TTY input replicated from these scenarios (and so don't actually interact with the
|
|
||||||
* OS).
|
|
||||||
*
|
|
||||||
* They work like this:
|
|
||||||
* - receive fake TTY input containing various VTE instructions.
|
|
||||||
* - run that output through zellij so it interprets it and creates its state based on it
|
|
||||||
* - read that state into a Human-readable snapshot and compare it to the expected snapshot for
|
|
||||||
* this scenario.
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize, fixture_name: &str) -> FakeInputOutput {
|
|
||||||
let mut tty_inputs = HashMap::new();
|
|
||||||
let fixture_bytes = Bytes::from_file_in_fixtures(&fixture_name);
|
|
||||||
tty_inputs.insert(fake_win_size.cols as u16, fixture_bytes);
|
|
||||||
FakeInputOutput::new(fake_win_size.clone()).with_tty_inputs(tty_inputs)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn run_bandwhich_from_fish_shell() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "fish_and_bandwhich";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn fish_tab_completion_options() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "fish_tab_completion_options";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn fish_select_tab_completion_options() {
|
|
||||||
// the difference between this and the previous test is that here we press <TAB>
|
|
||||||
// twice, meaning the selection moves between the options and the command line
|
|
||||||
// changes.
|
|
||||||
// this is not clearly seen in the snapshot because it does not include styles,
|
|
||||||
// but we can see the command line change and the cursor staying in place
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "fish_select_tab_completion_options";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn vim_scroll_region_down() {
|
|
||||||
// here we test a case where vim defines the scroll region as lesser than the screen row count
|
|
||||||
// and then scrolls down
|
|
||||||
// the region is defined here by vim as 1-26 (there are 28 rows)
|
|
||||||
// then the cursor is moved to line 26 and a new line is added
|
|
||||||
// what should happen is that the first line in the scroll region (1) is deleted
|
|
||||||
// and an empty line is inserted in the last scroll region line (26)
|
|
||||||
// this tests also has other steps afterwards that fills the line with the next line in the
|
|
||||||
// file
|
|
||||||
// experience appear to the user
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "vim_scroll_region_down";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]); // quit (ctrl-q)
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn vim_ctrl_d() {
|
|
||||||
// in vim ctrl-d moves down half a page
|
|
||||||
// in this case, it sends the terminal the csi 'M' directive, which tells it to delete X (13 in
|
|
||||||
// this case) lines inside the scroll region and push the other lines up
|
|
||||||
// what happens here is that 13 lines are deleted and instead 13 empty lines are added at the
|
|
||||||
// end of the scroll region
|
|
||||||
// vim makes sure to fill these empty lines with the rest of the file
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "vim_ctrl_d";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn vim_ctrl_u() {
|
|
||||||
// in vim ctrl-u moves up half a page
|
|
||||||
// in this case, it sends the terminal the csi 'L' directive, which tells it to insert X (13 in
|
|
||||||
// this case) lines at the cursor, pushing away (deleting) the last line in the scroll region
|
|
||||||
// this causes the effect of scrolling up X lines (vim replaces the lines with the ones in the
|
|
||||||
// file above the current content)
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "vim_ctrl_u";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn htop() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "htop";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn htop_scrolling() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "htop_scrolling";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn htop_right_scrolling() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "htop_right_scrolling";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn vim_overwrite() {
|
|
||||||
// this tests the vim overwrite message
|
|
||||||
// to recreate:
|
|
||||||
// * open a file in vim
|
|
||||||
// * open the same file in another window
|
|
||||||
// * change the file in the other window and save
|
|
||||||
// * change the file in the original vim window and save
|
|
||||||
// * confirm you would like to change the file by pressing 'y' and then ENTER
|
|
||||||
// * if everything looks fine, this test passed :)
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "vim_overwrite";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn clear_scroll_region() {
|
|
||||||
// this tests the scroll region used by eg. vim is cleared properly
|
|
||||||
// this means that when vim exits, we get back the previous scroll
|
|
||||||
// buffer
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "clear_scroll_region";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn display_tab_characters_properly() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "tab_characters";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn neovim_insert_mode() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "nvim_insert";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn bash_cursor_linewrap() {
|
|
||||||
// this test makes sure that when we enter a command that is beyond the screen border, that it
|
|
||||||
// immediately goes down one line
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 116,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "bash_cursor_linewrap";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn fish_paste_multiline() {
|
|
||||||
// here we paste a multiline command in fish shell, making sure we support it
|
|
||||||
// going up and changing the colors of our line-wrapped pasted text
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 149,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "fish_paste_multiline";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn git_log() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 149,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "git_log";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn git_diff_scrollup() {
|
|
||||||
// this tests makes sure that when we have a git diff that exceeds the screen size
|
|
||||||
// we are able to scroll up
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 149,
|
|
||||||
rows: 28,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "git_diff_scrollup";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn emacs_longbuf() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 284,
|
|
||||||
rows: 60,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "emacs_longbuf_tutorial";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn top_and_quit() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 235,
|
|
||||||
rows: 56,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "top_and_quit";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&SLEEP, &QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn exa_plus_omf_theme() {
|
|
||||||
// this tests that we handle a tab delimited table properly
|
|
||||||
// without overriding the previous content
|
|
||||||
// this is a potential bug because the \t character is a goto
|
|
||||||
// if we forwarded it as is to the terminal, we would be skipping
|
|
||||||
// over existing on-screen content without deleting it, so we must
|
|
||||||
// convert it to spaces
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 235,
|
|
||||||
rows: 56,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let fixture_name = "exa_plus_omf_theme";
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size, fixture_name);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
use insta::assert_snapshot;
|
|
||||||
use std::path::PathBuf;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::commands::QUIT;
|
|
||||||
use crate::tests::utils::get_output_frame_snapshots;
|
|
||||||
use crate::CliArgs;
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
|
|
||||||
FakeInputOutput::new(fake_win_size.clone())
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn accepts_basic_layout() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[&QUIT]);
|
|
||||||
let mut opts = CliArgs::default();
|
|
||||||
opts.layout_path = Some(PathBuf::from(
|
|
||||||
"src/tests/fixtures/layouts/three-panes-with-nesting.yaml",
|
|
||||||
));
|
|
||||||
|
|
||||||
let layout = zellij_utils::input::layout::Layout::from_path_or_default(
|
|
||||||
None,
|
|
||||||
opts.layout_path.as_ref(),
|
|
||||||
Some(std::path::Path::new("unused").into()),
|
|
||||||
);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
opts,
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
layout,
|
|
||||||
);
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
|
|
||||||
let snapshot_count = snapshots.len();
|
|
||||||
let first_snapshot = snapshots.get(0).unwrap();
|
|
||||||
let next_to_last_snapshot = snapshots.get(snapshot_count - 2).unwrap();
|
|
||||||
let last_snapshot = snapshots.last().unwrap();
|
|
||||||
// here we only test the first, next to last and last snapshot because there's a race condition
|
|
||||||
// with the other snapshots. Namely all the terminals are created asynchronously and read in an
|
|
||||||
// async task, so we have no way to guarantee the order in which their bytes will be read, and
|
|
||||||
// it doesn't really matter in this context. We just want to see that the layout is initially
|
|
||||||
// created properly and that in the end it's populated properly with its content
|
|
||||||
//
|
|
||||||
// we read the next to last as well as the last, because the last includes the "Bye from
|
|
||||||
// Zellij" message, and we also want to make sure things are fine before that
|
|
||||||
assert_snapshot!(first_snapshot);
|
|
||||||
assert_snapshot!(next_to_last_snapshot);
|
|
||||||
assert_snapshot!(last_snapshot);
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
pub mod basic;
|
|
||||||
pub mod close_pane;
|
|
||||||
pub mod compatibility;
|
|
||||||
pub mod layouts;
|
|
||||||
pub mod move_focus_down;
|
|
||||||
pub mod move_focus_left;
|
|
||||||
pub mod move_focus_right;
|
|
||||||
pub mod move_focus_up;
|
|
||||||
pub mod resize_down;
|
|
||||||
pub mod resize_left;
|
|
||||||
pub mod resize_right;
|
|
||||||
pub mod resize_up;
|
|
||||||
pub mod tabs;
|
|
||||||
pub mod terminal_window_resize;
|
|
||||||
pub mod toggle_fullscreen;
|
|
||||||
|
|
@ -1,91 +0,0 @@
|
||||||
use ::insta::assert_snapshot;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
|
|
||||||
use crate::CliArgs;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
use crate::tests::utils::commands::{
|
|
||||||
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,
|
|
||||||
};
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
|
|
||||||
FakeInputOutput::new(*fake_win_size)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn move_focus_down() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn move_focus_down_to_the_most_recently_used_pane() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
@ -1,131 +0,0 @@
|
||||||
use ::insta::assert_snapshot;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
|
|
||||||
use crate::CliArgs;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
use crate::tests::utils::commands::{
|
|
||||||
ENTER, MOVE_FOCUS_LEFT_IN_NORMAL_MODE, MOVE_FOCUS_LEFT_IN_PANE_MODE,
|
|
||||||
MOVE_FOCUS_RIGHT_IN_PANE_MODE, NEW_TAB_IN_TAB_MODE, PANE_MODE, QUIT, SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
SPLIT_RIGHT_IN_PANE_MODE, TAB_MODE,
|
|
||||||
};
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
|
|
||||||
FakeInputOutput::new(*fake_win_size)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn move_focus_left() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_LEFT_IN_PANE_MODE,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn move_focus_left_to_the_most_recently_used_pane() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn move_focus_left_changes_tab() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&ENTER,
|
|
||||||
&TAB_MODE,
|
|
||||||
&NEW_TAB_IN_TAB_MODE,
|
|
||||||
&ENTER,
|
|
||||||
&MOVE_FOCUS_LEFT_IN_NORMAL_MODE,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
@ -1,131 +0,0 @@
|
||||||
use ::insta::assert_snapshot;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
|
|
||||||
use crate::CliArgs;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
use crate::tests::utils::commands::{
|
|
||||||
ENTER, MOVE_FOCUS_LEFT_IN_PANE_MODE, MOVE_FOCUS_RIGHT_IN_NORMAL_MODE,
|
|
||||||
MOVE_FOCUS_RIGHT_IN_PANE_MODE, NEW_TAB_IN_TAB_MODE, PANE_MODE, QUIT, SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
SPLIT_RIGHT_IN_PANE_MODE, TAB_MODE,
|
|
||||||
};
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
|
|
||||||
FakeInputOutput::new(*fake_win_size)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn move_focus_right() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn move_focus_right_to_the_most_recently_used_pane() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn move_focus_right_changes_tab() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&ENTER,
|
|
||||||
&TAB_MODE,
|
|
||||||
&NEW_TAB_IN_TAB_MODE,
|
|
||||||
&ENTER,
|
|
||||||
&MOVE_FOCUS_RIGHT_IN_NORMAL_MODE,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
@ -1,91 +0,0 @@
|
||||||
use ::insta::assert_snapshot;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
|
|
||||||
use crate::CliArgs;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
use crate::tests::utils::commands::{
|
|
||||||
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,
|
|
||||||
};
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
|
|
||||||
FakeInputOutput::new(*fake_win_size)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn move_focus_up() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_UP_IN_PANE_MODE,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn move_focus_up_to_the_most_recently_used_pane() {
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
@ -1,725 +0,0 @@
|
||||||
use insta::assert_snapshot;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
|
|
||||||
use crate::CliArgs;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
use crate::tests::utils::commands::{
|
|
||||||
MOVE_FOCUS_IN_PANE_MODE, PANE_MODE, QUIT, RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
RESIZE_LEFT_IN_RESIZE_MODE, RESIZE_MODE, SLEEP, SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
};
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
|
|
||||||
FakeInputOutput::new(*fake_win_size)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_pane_above() {
|
|
||||||
// ┌───────────┐ ┌───────────┐
|
|
||||||
// │ │ │ │
|
|
||||||
// │ │ │ │
|
|
||||||
// ├───────────┤ ==resize=down==> │ │
|
|
||||||
// │███████████│ ├───────────┤
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_pane_below() {
|
|
||||||
// ┌───────────┐ ┌───────────┐
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// ├───────────┤ ==resize=down==> │███████████│
|
|
||||||
// │ │ ├───────────┤
|
|
||||||
// │ │ │ │
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_panes_above_and_below() {
|
|
||||||
// ┌───────────┐ ┌───────────┐
|
|
||||||
// │ │ │ │
|
|
||||||
// │ │ │ │
|
|
||||||
// ├───────────┤ ├───────────┤
|
|
||||||
// │███████████│ ==resize=down==> │███████████│
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// ├───────────┤ │███████████│
|
|
||||||
// │ │ ├───────────┤
|
|
||||||
// │ │ │ │
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 25,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_multiple_panes_above() {
|
|
||||||
//
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// ├─────┴─────┤ ==resize=down==> │ │ │
|
|
||||||
// │███████████│ ├─────┴─────┤
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_panes_above_aligned_left_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// ├─────┼─────┤ ==resize=down==> ├─────┤ │
|
|
||||||
// │ │█████│ │ ├─────┤
|
|
||||||
// │ │█████│ │ │█████│
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_panes_below_aligned_left_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │█████│ │ │█████│
|
|
||||||
// │ │█████│ │ │█████│
|
|
||||||
// ├─────┼─────┤ ==resize=down==> ├─────┤█████│
|
|
||||||
// │ │ │ │ ├─────┤
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_panes_above_aligned_right_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// ├─────┼─────┤ ==resize=down==> │ ├─────┤
|
|
||||||
// │█████│ │ ├─────┤ │
|
|
||||||
// │█████│ │ │█████│ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_panes_below_aligned_right_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │█████│ │ │█████│ │
|
|
||||||
// │█████│ │ │█████│ │
|
|
||||||
// ├─────┼─────┤ ==resize=down==> │█████├─────┤
|
|
||||||
// │ │ │ ├─────┤ │
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_panes_above_aligned_left_and_right_with_current_pane() {
|
|
||||||
// ┌───┬───┬───┐ ┌───┬───┬───┐
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// ├───┼───┼───┤ ==resize=down==> ├───┤ ├───┤
|
|
||||||
// │ │███│ │ │ ├───┤ │
|
|
||||||
// │ │███│ │ │ │███│ │
|
|
||||||
// └───┴───┴───┘ └───┴───┴───┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&SLEEP,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_panes_below_aligned_left_and_right_with_current_pane() {
|
|
||||||
// ┌───┬───┬───┐ ┌───┬───┬───┐
|
|
||||||
// │ │███│ │ │ │███│ │
|
|
||||||
// │ │███│ │ │ │███│ │
|
|
||||||
// ├───┼───┼───┤ ==resize=down==> ├───┤███├───┤
|
|
||||||
// │ │ │ │ │ ├───┤ │
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// └───┴───┴───┘ └───┴───┴───┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&SLEEP,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_panes_above_aligned_left_and_right_with_panes_to_the_left_and_right() {
|
|
||||||
// ┌─┬───────┬─┐ ┌─┬───────┬─┐
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// ├─┼─┬───┬─┼─┤ ==resize=down==> ├─┤ ├─┤
|
|
||||||
// │ │ │███│ │ │ │ ├─┬───┬─┤ │
|
|
||||||
// │ │ │███│ │ │ │ │ │███│ │ │
|
|
||||||
// └─┴─┴───┴─┴─┘ └─┴─┴───┴─┴─┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 40,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_down_with_panes_below_aligned_left_and_right_with_to_the_left_and_right() {
|
|
||||||
// ┌─┬─┬───┬─┬─┐ ┌─┬─┬───┬─┬─┐
|
|
||||||
// │ │ │███│ │ │ │ │ │███│ │ │
|
|
||||||
// │ │ │███│ │ │ │ │ │███│ │ │
|
|
||||||
// ├─┼─┴───┴─┼─┤ ==resize=down==> ├─┤ │███│ ├─┤
|
|
||||||
// │ │ │ │ │ ├─┴───┴─┤ │
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// └─┴───────┴─┘ └─┴───────┴─┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 40,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn cannot_resize_down_when_pane_below_is_at_minimum_height() {
|
|
||||||
// ┌───────────┐ ┌───────────┐
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// ├───────────┤ ==resize=down==> ├───────────┤
|
|
||||||
// │ │ │ │
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 7,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_DOWN_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
@ -1,702 +0,0 @@
|
||||||
use ::insta::assert_snapshot;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
|
|
||||||
use crate::CliArgs;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
use crate::tests::utils::commands::{
|
|
||||||
MOVE_FOCUS_IN_PANE_MODE, PANE_MODE, QUIT, RESIZE_LEFT_IN_RESIZE_MODE, RESIZE_MODE,
|
|
||||||
RESIZE_UP_IN_RESIZE_MODE, SLEEP, SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
};
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
|
|
||||||
FakeInputOutput::new(*fake_win_size)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_pane_to_the_left() {
|
|
||||||
// ┌─────┬─────┐ ┌───┬───────┐
|
|
||||||
// │ │█████│ │ │███████│
|
|
||||||
// │ │█████│ ==resize=left==> │ │███████│
|
|
||||||
// │ │█████│ │ │███████│
|
|
||||||
// └─────┴─────┘ └───┴───────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_pane_to_the_right() {
|
|
||||||
// ┌─────┬─────┐ ┌───┬───────┐
|
|
||||||
// │█████│ │ │███│ │
|
|
||||||
// │█████│ │ ==resize=left==> │███│ │
|
|
||||||
// │█████│ │ │███│ │
|
|
||||||
// └─────┴─────┘ └───┴───────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_panes_to_the_left_and_right() {
|
|
||||||
// ┌─────┬─────┬─────┐ ┌─────┬───┬───────┐
|
|
||||||
// │ │█████│ │ │ │███│ │
|
|
||||||
// │ │█████│ │ ==resize=left==> │ │███│ │
|
|
||||||
// │ │█████│ │ │ │███│ │
|
|
||||||
// └─────┴─────┴─────┘ └─────┴───┴───────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_multiple_panes_to_the_left() {
|
|
||||||
// ┌─────┬─────┐ ┌───┬───────┐
|
|
||||||
// │ │█████│ │ │███████│
|
|
||||||
// ├─────┤█████│ ==resize=left==> ├───┤███████│
|
|
||||||
// │ │█████│ │ │███████│
|
|
||||||
// └─────┴─────┘ └───┴───────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_panes_to_the_left_aligned_top_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// ├─────┼─────┤ ==resize=left==> ├───┬─┴─────┤
|
|
||||||
// │ │█████│ │ │███████│
|
|
||||||
// └─────┴─────┘ └───┴───────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_panes_to_the_right_aligned_top_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// ├─────┼─────┤ ==resize=left==> ├───┬─┴─────┤
|
|
||||||
// │█████│ │ │███│ │
|
|
||||||
// └─────┴─────┘ └───┴───────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_panes_to_the_left_aligned_bottom_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌───┬───────┐
|
|
||||||
// │ │█████│ │ │███████│
|
|
||||||
// ├─────┼─────┤ ==resize=left==> ├───┴─┬─────┤
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_panes_to_the_right_aligned_bottom_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌───┬───────┐
|
|
||||||
// │█████│ │ │███│ │
|
|
||||||
// ├─────┼─────┤ ==resize=left==> ├───┴─┬─────┤
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_panes_to_the_left_aligned_top_and_bottom_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// ├─────┼─────┤ ├───┬─┴─────┤
|
|
||||||
// │ │█████│ ==resize=left==> │ │███████│
|
|
||||||
// ├─────┼─────┤ ├───┴─┬─────┤
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&SLEEP,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_panes_to_the_right_aligned_top_and_bottom_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// ├─────┼─────┤ ├───┬─┴─────┤
|
|
||||||
// │█████│ │ ==resize=left==> │███│ │
|
|
||||||
// ├─────┼─────┤ ├───┴─┬─────┤
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&SLEEP,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_panes_to_the_left_aligned_top_and_bottom_with_panes_above_and_below() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// ├─────┼─────┤ ├───┬─┴─────┤
|
|
||||||
// │ ├─────┤ │ ├───────┤
|
|
||||||
// │ │█████│ ==resize=left==> │ │███████│
|
|
||||||
// │ ├─────┤ │ ├───────┤
|
|
||||||
// ├─────┼─────┤ ├───┴─┬─────┤
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 40,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_left_with_panes_to_the_right_aligned_top_and_bottom_with_panes_above_and_below() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// ├─────┼─────┤ ├───┬─┴─────┤
|
|
||||||
// ├─────┤ │ ├───┤ │
|
|
||||||
// │█████│ │ ==resize=left==> │███│ │
|
|
||||||
// ├─────┤ │ ├───┤ │
|
|
||||||
// ├─────┼─────┤ ├───┴─┬─────┤
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
// TODO: combine with above
|
|
||||||
cols: 121,
|
|
||||||
rows: 40,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn cannot_resize_left_when_pane_to_the_left_is_at_minimum_width() {
|
|
||||||
// ┌─┬─┐ ┌─┬─┐
|
|
||||||
// │ │█│ │ │█│
|
|
||||||
// │ │█│ ==resize=left==> │ │█│
|
|
||||||
// │ │█│ │ │█│
|
|
||||||
// └─┴─┘ └─┴─┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 9,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
@ -1,701 +0,0 @@
|
||||||
use ::insta::assert_snapshot;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
|
|
||||||
use crate::CliArgs;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
use crate::tests::utils::commands::{
|
|
||||||
MOVE_FOCUS_IN_PANE_MODE, PANE_MODE, QUIT, RESIZE_MODE, RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
RESIZE_UP_IN_RESIZE_MODE, SLEEP, SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
};
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
|
|
||||||
FakeInputOutput::new(*fake_win_size)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_pane_to_the_left() {
|
|
||||||
// ┌─────┬─────┐ ┌───────┬───┐
|
|
||||||
// │ │█████│ │ │███│
|
|
||||||
// │ │█████│ ==resize=right==> │ │███│
|
|
||||||
// │ │█████│ │ │███│
|
|
||||||
// └─────┴─────┘ └───────┴───┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_pane_to_the_right() {
|
|
||||||
// ┌─────┬─────┐ ┌───────┬───┐
|
|
||||||
// │█████│ │ │███████│ │
|
|
||||||
// │█████│ │ ==resize=right==> │███████│ │
|
|
||||||
// │█████│ │ │███████│ │
|
|
||||||
// └─────┴─────┘ └───────┴───┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_panes_to_the_left_and_right() {
|
|
||||||
// ┌─────┬─────┬─────┐ ┌─────┬───────┬───┐
|
|
||||||
// │ │█████│ │ │ │███████│ │
|
|
||||||
// │ │█████│ │ ==resize=right==> │ │███████│ │
|
|
||||||
// │ │█████│ │ │ │███████│ │
|
|
||||||
// └─────┴─────┴─────┘ └─────┴───────┴───┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_multiple_panes_to_the_left() {
|
|
||||||
// ┌─────┬─────┐ ┌───────┬───┐
|
|
||||||
// │ │█████│ │ │███│
|
|
||||||
// ├─────┤█████│ ==resize=right==> ├───────┤███│
|
|
||||||
// │ │█████│ │ │███│
|
|
||||||
// └─────┴─────┘ └───────┴───┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_panes_to_the_left_aligned_top_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// ├─────┼─────┤ ==resize=right==> ├─────┴─┬───┤
|
|
||||||
// │ │█████│ │ │███│
|
|
||||||
// └─────┴─────┘ └───────┴───┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_panes_to_the_right_aligned_top_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// ├─────┼─────┤ ==resize=right==> ├─────┴─┬───┤
|
|
||||||
// │█████│ │ │███████│ │
|
|
||||||
// └─────┴─────┘ └───────┴───┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_panes_to_the_left_aligned_bottom_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌───────┬───┐
|
|
||||||
// │ │█████│ │ │███│
|
|
||||||
// ├─────┼─────┤ ==resize=right==> ├─────┬─┴───┤
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_panes_to_the_right_aligned_bottom_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌───────┬───┐
|
|
||||||
// │█████│ │ │███████│ │
|
|
||||||
// ├─────┼─────┤ ==resize=right==> ├─────┬─┴───┤
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_panes_to_the_left_aligned_top_and_bottom_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// ├─────┼─────┤ ├─────┴─┬───┤
|
|
||||||
// │ │█████│ ==resize=right==> │ │███│
|
|
||||||
// ├─────┼─────┤ ├─────┬─┴───┤
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&SLEEP,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_panes_to_the_right_aligned_top_and_bottom_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// ├─────┼─────┤ ├─────┴─┬───┤
|
|
||||||
// │█████│ │ ==resize=right==> │███████│ │
|
|
||||||
// ├─────┼─────┤ ├─────┬─┴───┤
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&SLEEP,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_panes_to_the_left_aligned_top_and_bottom_with_panes_above_and_below() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// ├─────┼─────┤ ├─────┴─┬───┤
|
|
||||||
// │ ├─────┤ │ ├───┤
|
|
||||||
// │ │█████│ ==resize=right==> │ │███│
|
|
||||||
// │ ├─────┤ │ ├───┤
|
|
||||||
// ├─────┼─────┤ ├─────┬─┴───┤
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 40,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_right_with_panes_to_the_right_aligned_top_and_bottom_with_panes_above_and_below() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// ├─────┼─────┤ ├─────┴─┬───┤
|
|
||||||
// ├─────┤ │ ├───────┤ │
|
|
||||||
// │█████│ │ ==resize=right==> │███████│ │
|
|
||||||
// ├─────┤ │ ├───────┤ │
|
|
||||||
// ├─────┼─────┤ ├─────┬─┴───┤
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 40,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn cannot_resize_right_when_pane_to_the_left_is_at_minimum_width() {
|
|
||||||
// ┌─┬─┐ ┌─┬─┐
|
|
||||||
// │ │█│ │ │█│
|
|
||||||
// │ │█│ ==resize=right==> │ │█│
|
|
||||||
// │ │█│ │ │█│
|
|
||||||
// └─┴─┘ └─┴─┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 9,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_RIGHT_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
@ -1,719 +0,0 @@
|
||||||
use ::insta::assert_snapshot;
|
|
||||||
|
|
||||||
use crate::tests::fakes::FakeInputOutput;
|
|
||||||
use crate::tests::start;
|
|
||||||
use crate::tests::utils::{get_next_to_last_snapshot, get_output_frame_snapshots};
|
|
||||||
use crate::CliArgs;
|
|
||||||
use zellij_utils::pane_size::PositionAndSize;
|
|
||||||
|
|
||||||
use crate::tests::utils::commands::{
|
|
||||||
MOVE_FOCUS_IN_PANE_MODE, PANE_MODE, QUIT, RESIZE_LEFT_IN_RESIZE_MODE, RESIZE_MODE,
|
|
||||||
RESIZE_UP_IN_RESIZE_MODE, SLEEP, SPLIT_DOWN_IN_PANE_MODE, SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
};
|
|
||||||
use zellij_utils::input::config::Config;
|
|
||||||
|
|
||||||
fn get_fake_os_input(fake_win_size: &PositionAndSize) -> FakeInputOutput {
|
|
||||||
FakeInputOutput::new(*fake_win_size)
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_pane_above() {
|
|
||||||
// ┌───────────┐ ┌───────────┐
|
|
||||||
// │ │ │ │
|
|
||||||
// │ │ ├───────────┤
|
|
||||||
// ├───────────┤ ==resize=up==> │███████████│
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_pane_below() {
|
|
||||||
// ┌───────────┐ ┌───────────┐
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// │███████████│ ├───────────┤
|
|
||||||
// ├───────────┤ ==resize=up==> │ │
|
|
||||||
// │ │ │ │
|
|
||||||
// │ │ │ │
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_panes_above_and_below() {
|
|
||||||
// ┌───────────┐ ┌───────────┐
|
|
||||||
// │ │ │ │
|
|
||||||
// │ │ ├───────────┤
|
|
||||||
// ├───────────┤ │███████████│
|
|
||||||
// │███████████│ ==resize=up==> │███████████│
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// ├───────────┤ ├───────────┤
|
|
||||||
// │ │ │ │
|
|
||||||
// │ │ │ │
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_multiple_panes_above() {
|
|
||||||
//
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ ├─────┴─────┤
|
|
||||||
// ├─────┴─────┤ ==resize=up==> │███████████│
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_panes_above_aligned_left_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ ├─────┤
|
|
||||||
// ├─────┼─────┤ ==resize=up==> ├─────┤█████│
|
|
||||||
// │ │█████│ │ │█████│
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_panes_below_aligned_left_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │█████│ │ │█████│
|
|
||||||
// │ │█████│ │ ├─────┤
|
|
||||||
// ├─────┼─────┤ ==resize=up==> ├─────┤ │
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_panes_above_aligned_right_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// │ │ │ ├─────┤ │
|
|
||||||
// ├─────┼─────┤ ==resize=up==> │█████├─────┤
|
|
||||||
// │█████│ │ │█████│ │
|
|
||||||
// │█████│ │ │█████│ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_panes_below_aligned_right_with_current_pane() {
|
|
||||||
// ┌─────┬─────┐ ┌─────┬─────┐
|
|
||||||
// │█████│ │ │█████│ │
|
|
||||||
// │█████│ │ ├─────┤ │
|
|
||||||
// ├─────┼─────┤ ==resize=up==> │ ├─────┤
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// │ │ │ │ │ │
|
|
||||||
// └─────┴─────┘ └─────┴─────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_panes_above_aligned_left_and_right_with_current_pane() {
|
|
||||||
// ┌───┬───┬───┐ ┌───┬───┬───┐
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// │ │ │ │ │ ├───┤ │
|
|
||||||
// ├───┼───┼───┤ ==resize=up==> ├───┤███├───┤
|
|
||||||
// │ │███│ │ │ │███│ │
|
|
||||||
// │ │███│ │ │ │███│ │
|
|
||||||
// └───┴───┴───┘ └───┴───┴───┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&SLEEP,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_panes_below_aligned_left_and_right_with_current_pane() {
|
|
||||||
// ┌───┬───┬───┐ ┌───┬───┬───┐
|
|
||||||
// │ │███│ │ │ │███│ │
|
|
||||||
// │ │███│ │ │ ├───┤ │
|
|
||||||
// ├───┼───┼───┤ ==resize=up==> ├───┤ ├───┤
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// └───┴───┴───┘ └───┴───┴───┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 20,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&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,
|
|
||||||
&SLEEP,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_panes_above_aligned_left_and_right_with_panes_to_the_left_and_right() {
|
|
||||||
// ┌─┬───────┬─┐ ┌─┬───────┬─┐
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// │ │ │ │ │ ├─┬───┬─┤ │
|
|
||||||
// ├─┼─┬───┬─┼─┤ ==resize=up==> ├─┤ │███│ ├─┤
|
|
||||||
// │ │ │███│ │ │ │ │ │███│ │ │
|
|
||||||
// │ │ │███│ │ │ │ │ │███│ │ │
|
|
||||||
// └─┴─┴───┴─┴─┘ └─┴─┴───┴─┴─┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 40,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn resize_up_with_panes_below_aligned_left_and_right_with_to_the_left_and_right() {
|
|
||||||
// ┌─┬─┬───┬─┬─┐ ┌─┬─┬───┬─┬─┐
|
|
||||||
// │ │ │███│ │ │ │ │ │███│ │ │
|
|
||||||
// │ │ │███│ │ │ │ ├─┴───┴─┤ │
|
|
||||||
// ├─┼─┴───┴─┼─┤ ==resize=up==> ├─┤ ├─┤
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// │ │ │ │ │ │ │ │
|
|
||||||
// └─┴───────┴─┘ └─┴───────┴─┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 40,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&SPLIT_RIGHT_IN_PANE_MODE,
|
|
||||||
&MOVE_FOCUS_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&PANE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&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,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_LEFT_IN_RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
||||||
#[test]
|
|
||||||
pub fn cannot_resize_up_when_pane_above_is_at_minimum_height() {
|
|
||||||
// ┌───────────┐ ┌───────────┐
|
|
||||||
// │ │ │ │
|
|
||||||
// ├───────────┤ ==resize=up==> ├───────────┤
|
|
||||||
// │███████████│ │███████████│
|
|
||||||
// └───────────┘ └───────────┘
|
|
||||||
// █ == focused pane
|
|
||||||
let fake_win_size = PositionAndSize {
|
|
||||||
cols: 121,
|
|
||||||
rows: 7,
|
|
||||||
x: 0,
|
|
||||||
y: 0,
|
|
||||||
..Default::default()
|
|
||||||
};
|
|
||||||
let mut fake_input_output = get_fake_os_input(&fake_win_size);
|
|
||||||
fake_input_output.add_terminal_input(&[
|
|
||||||
&PANE_MODE,
|
|
||||||
&SPLIT_DOWN_IN_PANE_MODE,
|
|
||||||
&RESIZE_MODE,
|
|
||||||
&RESIZE_UP_IN_RESIZE_MODE,
|
|
||||||
&SLEEP,
|
|
||||||
&QUIT,
|
|
||||||
]);
|
|
||||||
start(
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
CliArgs::default(),
|
|
||||||
Box::new(fake_input_output.clone()),
|
|
||||||
Config::default(),
|
|
||||||
None,
|
|
||||||
);
|
|
||||||
|
|
||||||
let output_frames = fake_input_output
|
|
||||||
.stdout_writer
|
|
||||||
.output_frames
|
|
||||||
.lock()
|
|
||||||
.unwrap();
|
|
||||||
let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size);
|
|
||||||
let snapshot_before_quit =
|
|
||||||
get_next_to_last_snapshot(snapshots).expect("could not find snapshot");
|
|
||||||
assert_snapshot!(snapshot_before_quit);
|
|
||||||
}
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.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
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line18-b
|
|
||||||
line19-b
|
|
||||||
prompt $
|
|
||||||
█
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line2-bb
|
|
||||||
line3-bb
|
|
||||||
line4-bb
|
|
||||||
line5-bb
|
|
||||||
line6-bb
|
|
||||||
line7-bb
|
|
||||||
line8-bb
|
|
||||||
line9-bb
|
|
||||||
line10-b
|
|
||||||
line11-b
|
|
||||||
line12-b
|
|
||||||
line13-b
|
|
||||||
line14-b
|
|
||||||
line15-b
|
|
||||||
line16-b
|
|
||||||
line17-b
|
|
||||||
line18-b
|
|
||||||
line19-b
|
|
||||||
prompt $
|
|
||||||
█
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $
|
|
||||||
────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────
|
|
||||||
line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line4-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line5-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │line12-bb█bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
────────────────────────────────────────────────────────────┬────────────────────────────────────────────────────────────
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │line18-bb█bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $
|
|
||||||
────────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────
|
|
||||||
line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
a │line1-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line2-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line3-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line4-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line5-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.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
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/basic.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line1-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line2-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line3-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line4-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line5-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.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
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.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
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.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
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line1-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line2-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line3-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line4-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line5-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
a │line1-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line2-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line3-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line4-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line5-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
a │bbbbbbbbbbbbbbb│line1-bbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line2-bbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line3-bbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line16-bbbbbbbb│line4-bbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line5-bbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line6-bbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbb│line7-bbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │line17-bbbbbbbb│line8-bbbbbbbb│prompt $
|
|
||||||
────────────────────────────────────────────────────────────┤bbbbbbbbbbbbbbb│line9-bbbbbbbb├─────────────────────────────
|
|
||||||
a │bbbbbbbbbbbbbbb│line10-bbbbbbb│line10-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line11-bbbbbbb│line11-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbb│line12-bbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbb│line13-bbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line14-bbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line15-bbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbb│line16-bbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line17-bbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line18-bbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbb│line19-bbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ │prompt $ █ │prompt $
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
a │line1-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line2-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line3-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line4-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line5-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line1-bbbbbbbb│line9-bbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbb│line2-bbbbbbbb│line10-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line3-bbbbbbbb│line11-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line16-bbbbbbbb│line4-bbbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbb│line5-bbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line6-bbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line7-bbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line17-bbbbbbbb│line8-bbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line9-bbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line10-bbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbb│line11-bbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │line18-bbbbbbbb│line12-bbbbbbb│prompt $
|
|
||||||
────────────────────────────────────────────────────────────┤bbbbbbbbbbbbbbb│line13-bbbbbbb├─────────────────────────────
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line14-bbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line15-bbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbb│line16-bbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line17-bbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbb│line18-bbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbb│line19-bbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ │prompt $ █ │prompt $
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaa │line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaa │line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaa │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaa │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaa │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $
|
|
||||||
──────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────────────
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ █
|
|
||||||
──────────────────────────────────────────────────┬──────────────────────────────────────────────────────────────────────
|
|
||||||
bbbbbbbbbb │line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
bbbbbbbbbb │line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
bbbbbbbbbb │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,35 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaa │line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaa │line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaa │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaa │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaa │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $
|
|
||||||
──────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────────────
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ █
|
|
||||||
──────────────────────────────────────────────────┬──────────────────────────────────────────────────────────────────────
|
|
||||||
bbbbbbbbbb │line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
bbbbbbbbbb │line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
bbbbbbbbbb │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/close_pane.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line1-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line2-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line3-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line4-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line5-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
Welcome to fish, the friendly interactive shell
|
|
||||||
⋊> ~/c/mosaic on main ⨯ bash 16:00:06
|
|
||||||
[aram@green mosaic]$ 12345678912345678912345678912345678912345678912345678912345678912345678912345678912345678912345
|
|
||||||
█
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
Welcome to fish, the friendly interactive shell
|
|
||||||
⋊> ~/c/mosaic on main ⨯ vim some-file 15:07:22
|
|
||||||
⋊> ~/c/mosaic on main ⨯ █ 15:07:29
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
OS: 5.9.13-arch1-1 GNU/Linux
|
|
||||||
Uptime: 10 hours, 42 minutes
|
|
||||||
Hostname: kingdom
|
|
||||||
Disk usage:
|
|
||||||
|
|
||||||
df: /run/user/1000/doc: Operation not permitted
|
|
||||||
/ 321G / 514G 66%
|
|
||||||
/efi 27M / 96M 28%
|
|
||||||
|
|
||||||
Network:
|
|
||||||
|
|
||||||
wlp2s0 192.168.0.3
|
|
||||||
|
|
||||||
[I] [20:07] kingdom:mosaic (main) | █
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,65 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
➜ mosaic git:(mosaic#130) emacs
|
|
||||||
➜ mosaic git:(mosaic#130) emacs -nw
|
|
||||||
➜ mosaic git:(mosaic#130) exit
|
|
||||||
█
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
.rw-r--r-- 3.3k aram 11 Jan 16:09 CODE_OF_CONDUCT.md
|
|
||||||
.rw-r--r-- 3.5k aram 17 Feb 16:06 CONTRIBUTING.md
|
|
||||||
drwxr-xr-x - aram 10 Feb 11:53 default-tiles
|
|
||||||
drwxr-xr-x - aram 10 Feb 11:53 docs
|
|
||||||
.rw-r--r-- 2.1k aram 10 Feb 11:53 GOVERNANCE.md
|
|
||||||
.rw-r--r-- 1.1k aram 10 Feb 11:53 LICENSE.md
|
|
||||||
.rw-r--r-- 4.7k aram 17 Feb 16:06 README.md
|
|
||||||
drwxr-xr-x - aram 17 Feb 16:06 src
|
|
||||||
drwxr-xr-x - aram 17 Feb 16:08 target
|
|
||||||
drwxr-xr-x - aram 17 Feb 16:06 zellij-tile
|
|
||||||
⋊> ~/c/zellij on main ⨯ ll 10:27:45
|
|
||||||
Permissions Size User Date Modified Name
|
|
||||||
drwxr-xr-x - aram 11 Feb 14:04 assets
|
|
||||||
.rwxr-xr-x 596 aram 17 Feb 16:06 build-all.sh
|
|
||||||
.rw-r--r-- 1.4k aram 17 Feb 16:06 build.rs
|
|
||||||
.rw-r--r-- 56k aram 17 Feb 16:07 Cargo.lock
|
|
||||||
.rw-r--r-- 2.1k aram 17 Feb 16:06 Cargo.toml
|
|
||||||
.rw-r--r-- 3.3k aram 11 Jan 16:09 CODE_OF_CONDUCT.md
|
|
||||||
.rw-r--r-- 3.5k aram 17 Feb 16:06 CONTRIBUTING.md
|
|
||||||
drwxr-xr-x - aram 10 Feb 11:53 default-tiles
|
|
||||||
drwxr-xr-x - aram 10 Feb 11:53 docs
|
|
||||||
.rw-r--r-- 2.1k aram 10 Feb 11:53 GOVERNANCE.md
|
|
||||||
.rw-r--r-- 1.1k aram 10 Feb 11:53 LICENSE.md
|
|
||||||
.rw-r--r-- 4.7k aram 17 Feb 16:06 README.md
|
|
||||||
drwxr-xr-x - aram 17 Feb 16:06 src
|
|
||||||
drwxr-xr-x - aram 17 Feb 16:08 target
|
|
||||||
drwxr-xr-x - aram 17 Feb 16:06 zellij-tile
|
|
||||||
⋊> ~/c/zellij on main ⨯ omf theme 10:27:45
|
|
||||||
Installed:
|
|
||||||
agnoster chain default plain
|
|
||||||
|
|
||||||
Available:
|
|
||||||
agnoster eden lavender scorphish
|
|
||||||
aight emoji-powerline lolfish separation
|
|
||||||
ays es mars shellder
|
|
||||||
batman fishbone mish simple-ass-prompt
|
|
||||||
beloglazov fishface mokou simplevi
|
|
||||||
bira fishy-drupal mtahmed slavic-cat
|
|
||||||
bobthefish fisk nai spacefish
|
|
||||||
bongnoster fox nelsonjchen sushi
|
|
||||||
boxfish gentoo neolambda syl20bnr
|
|
||||||
budspencer gianu numist taktoa
|
|
||||||
cbjohnson gitstatus ocean technopagan
|
|
||||||
chain gnuykeaj one toaster
|
|
||||||
clearance godfather pastfish tomita
|
|
||||||
cmorrell graystatus perryh trout
|
|
||||||
coffeeandcode harleen plain tweetjay
|
|
||||||
cor idan pure uggedal
|
|
||||||
cyan integral pygmalion will
|
|
||||||
dangerous jacaetevha random wolf-theme
|
|
||||||
default johanson randomrussel yimmy
|
|
||||||
dmorrell kawasaki redfish zeit
|
|
||||||
doughsay krisleech red-snapper zephyr
|
|
||||||
eclm l robbyrussell zish
|
|
||||||
edan lambda sashimi
|
|
||||||
⋊> ~/c/zellij on main ⨯ █ 10:27:46
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
OS: 5.9.14-arch1-1 GNU/Linux
|
|
||||||
Uptime: 12 hours, 21 minutes
|
|
||||||
Hostname: kingdom
|
|
||||||
Disk usage:
|
|
||||||
|
|
||||||
df: /run/user/1000/doc: Operation not permitted
|
|
||||||
/ 295G / 514G 61%
|
|
||||||
/efi 27M / 96M 28%
|
|
||||||
|
|
||||||
Network:
|
|
||||||
|
|
||||||
wlp2s0 192.168.0.3
|
|
||||||
|
|
||||||
[I] [21:58] kingdom:mosaic (main) | echo -ne (\
|
|
||||||
df -l -h | grep -E 'dev/(xvda|sd|mapper)' | \
|
|
||||||
awk '{printf "\\\\t%s\\\\t%4s / %4s %s\\\\n\n", $6, $3, $2, $5}' | \
|
|
||||||
sed -e 's/^\(.*\([8][5-9]\|[9][0-9]\)%.*\)$/\\\\e[0;31m\1\\\\e[0m/' -e 's/^\(.*\([7][5-9]\|[8][0-4]\)%.*\
|
|
||||||
)$/\\\\e[0;33m\1\\\\e[0m/' | \
|
|
||||||
paste -sd ''\
|
|
||||||
)█
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
Welcome to fish, the friendly interactive shell
|
|
||||||
⋊> ~/c/mosaic on main ⨯ sudo badblocks █ 11:32:23
|
|
||||||
badblocks (Executable, 33kB) base64 (Executable, 42kB) bash (Executable, 906kB)
|
|
||||||
bandwhich (Executable, 3.0MB) basename (Executable, 38kB) bashbug (Executable, 6.8kB)
|
|
||||||
base32 (Executable, 42kB) basenc (Executable, 50kB) bass
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
Welcome to fish, the friendly interactive shell
|
|
||||||
⋊> ~/c/mosaic on main ⨯ sudo ba█dwhich 11:18:26
|
|
||||||
badblocks (Executable, 33kB) base64 (Executable, 42kB) bash (Executable, 906kB)
|
|
||||||
bandwhich (Executable, 3.0MB) basename (Executable, 38kB) bashbug (Executable, 6.8kB)
|
|
||||||
base32 (Executable, 42kB) basenc (Executable, 50kB) bass
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
src/terminal_pane/scroll.rs
|
|
||||||
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
|
|
||||||
────────────────────────────────────────────────┐
|
|
||||||
use crate::terminal_pane::terminal_character::{ │
|
|
||||||
────────────────────────────────────────────────┘
|
|
||||||
5
|
|
||||||
CharacterStyles, TerminalCharacter, EMPTY_TERMINAL_CHARACTER,
|
|
||||||
};
|
|
||||||
|
|
||||||
use crate::utils::logging::debug_log_to_file;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Scroll
|
|
||||||
*
|
|
||||||
|
|
||||||
──────────────┐
|
|
||||||
impl Scroll { │
|
|
||||||
──────────────┘
|
|
||||||
663
|
|
||||||
pub fn move_current_buffer_to_alternative_buffer(&mut self) {
|
|
||||||
self.alternative_buffer = Some(self.canonical_lines.drain(..).collect());
|
|
||||||
self.alternative_cursor_position = Some(self.cursor_position);
|
|
||||||
self.cursor_position.reset();
|
|
||||||
self.clear_all();
|
|
||||||
}
|
|
||||||
:█
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
* wip: doesn't render when new tab is created?
|
|
||||||
|
|
||||||
* wip: doesnt re-render when a new tab is spawned for now
|
|
||||||
|
|
||||||
* wip: tabs now are a BTreeMap and we can switch between them in both directions
|
|
||||||
|
|
||||||
* wip: I think that should also be here
|
|
||||||
|
|
||||||
* wip: cleanup
|
|
||||||
|
|
||||||
* Spawn a new terminal simultaneously with a new tab
|
|
||||||
|
|
||||||
* Ensure proper Opening and Closing of tabs
|
|
||||||
|
|
||||||
* cleanup
|
|
||||||
|
|
||||||
* more cleanup
|
|
||||||
|
|
||||||
* tests(snapshots): add 'loading' snapshot to each scenario
|
|
||||||
|
|
||||||
* fix(tests): update snapshots
|
|
||||||
|
|
||||||
* Add tests for tabs implementation
|
|
||||||
|
|
||||||
* wip: added tests, moved tab related stuff to a separate file
|
|
||||||
|
|
||||||
:█
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
1 [||||| 10.1%] Tasks: 73, 413 thr; 1 running
|
|
||||||
2 [||||||| 13.5%] Load average: 1.03 1.07 1.30
|
|
||||||
3 [|||||| 10.8%] Uptime: 22:41:15
|
|
||||||
4 [|||||| 10.6%]
|
|
||||||
Mem[|||||||||||||||||||||||||||||||||||||3.28G/15.3G]
|
|
||||||
Swp[ 0K/16.0G]
|
|
||||||
|
|
||||||
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
|
|
||||||
1352 aram 20 0 3776M 581M 238M S 8.7 3.7 2h01:10 /usr/lib/firefox/firefox
|
|
||||||
98777 aram 20 0 537M 6184 4240 S 8.1 0.0 0:00.80 target/debug/mosaic --debug
|
|
||||||
1669 aram 20 0 2944M 318M 130M S 8.1 2.0 1h01:33 /usr/lib/firefox/firefox -contentproc -childID 6 -i
|
|
||||||
826 aram 9 -11 1581M 15092 11244 S 6.1 0.1 42:21.83 /usr/bin/pulseaudio --daemonize=no
|
|
||||||
9419 aram 20 0 533M 7392 3344 S 4.7 0.0 22:01.92 /usr/local/bin/mosaic --max-panes 4
|
|
||||||
98913 aram 20 0 537M 6184 4240 S 3.4 0.0 0:00.31 target/debug/mosaic --debug
|
|
||||||
1505 aram 20 0 3187M 329M 206M S 3.4 2.1 23:35.90 /usr/lib/firefox/firefox -contentproc -childID 2 -i
|
|
||||||
98912 aram 20 0 537M 6184 4240 S 2.7 0.0 0:00.22 target/debug/mosaic --debug
|
|
||||||
1164 aram -6 0 1581M 15092 11244 S 2.7 0.1 21:39.80 /usr/bin/pulseaudio --daemonize=no
|
|
||||||
1247 aram 20 0 1184M 292M 84828 S 2.7 1.9 38:01.54 /usr/lib/Xorg -nolisten tcp :0 vt1 -keeptty -auth /
|
|
||||||
1475 aram -11 0 3776M 581M 238M S 2.0 3.7 14:27.94 /usr/lib/firefox/firefox
|
|
||||||
8574 aram 20 0 2944M 318M 130M S 2.0 2.0 14:36.50 /usr/lib/firefox/firefox -contentproc -childID 6 -i
|
|
||||||
1364 aram 20 0 3776M 581M 238M S 2.0 3.7 18:01.89 /usr/lib/firefox/firefox
|
|
||||||
1870 aram 20 0 3776M 581M 238M S 2.0 3.7 13:27.06 /usr/lib/firefox/firefox
|
|
||||||
9427 aram 20 0 533M 7392 3344 S 2.0 0.0 6:53.47 /usr/local/bin/mosaic --max-panes 4
|
|
||||||
98905 aram 20 0 537M 6184 4240 S 2.0 0.0 0:00.17 target/debug/mosaic --debug
|
|
||||||
99272 aram 20 0 8456 4348 3320 R 1.3 0.0 0:00.13 htop
|
|
||||||
8611 aram 20 0 2944M 318M 130M S 1.3 2.0 8:17.90 /usr/lib/firefox/firefox -contentproc -childID 6 -i
|
|
||||||
F1Help F2Setup F3SearchF4FilterF5Tree F6SortByF7Nice -F8Nice +F9Kill F10Quit
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
1 [|||||||||| 16.9%] Tasks: 110, 512 thr; 1 running
|
|
||||||
2 [|||||||||| 17.1%] Load average: 1.04 1.30 1.29
|
|
||||||
3 [||||||| 13.9%] Uptime: 6 days, 07:01:39
|
|
||||||
4 [||||||||| 14.9%]
|
|
||||||
Mem[|||||||||||||||||||||||||||||||||||||8.80G/15.3G]
|
|
||||||
Swp[| 2.82M/16.0G]
|
|
||||||
|
|
||||||
PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
|
|
||||||
20 0 8576 4508 3356 R 1.3 0.0 0:00.11 htop
|
|
||||||
20 0 171M 10868 7804 S 0.0 0.1 2:08.38 /sbin/init
|
|
||||||
20 0 107M 29364 28092 S 0.0 0.2 0:03.42 /usr/lib/systemd/systemd-journald
|
|
||||||
20 0 32648 9568 6616 S 0.0 0.1 0:01.87 /usr/lib/systemd/systemd-udevd
|
|
||||||
20 0 78060 992 856 S 0.0 0.0 0:00.00 /usr/bin/lvmetad -f
|
|
||||||
20 0 6952 4356 3492 S 0.0 0.0 0:57.67 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidf
|
|
||||||
20 0 14824 7552 5984 S 0.0 0.0 0:12.93 /usr/bin/connmand -n --nodnsproxy
|
|
||||||
20 0 17696 7940 6696 S 0.0 0.0 0:01.25 /usr/lib/systemd/systemd-logind
|
|
||||||
20 0 1635M 56148 20460 S 0.0 0.3 1:27.24 /usr/bin/dockerd -H fd://
|
|
||||||
20 0 1635M 56148 20460 S 0.0 0.3 0:38.37 /usr/bin/dockerd -H fd://
|
|
||||||
20 0 1635M 56148 20460 S 0.0 0.3 0:00.01 /usr/bin/dockerd -H fd://
|
|
||||||
20 0 1635M 56148 20460 S 0.0 0.3 0:00.00 /usr/bin/dockerd -H fd://
|
|
||||||
20 0 1635M 56148 20460 S 0.0 0.3 0:00.00 /usr/bin/dockerd -H fd://
|
|
||||||
20 0 1635M 56148 20460 S 0.0 0.3 0:00.00 /usr/bin/dockerd -H fd://
|
|
||||||
20 0 1635M 56148 20460 S 0.0 0.3 1:47.55 /usr/bin/dockerd -H fd://
|
|
||||||
20 0 1635M 56148 20460 S 0.0 0.3 1:26.19 /usr/bin/dockerd -H fd://
|
|
||||||
20 0 1635M 56148 20460 S 0.0 0.3 1:40.77 /usr/bin/dockerd -H fd://
|
|
||||||
20 0 1635M 56148 20460 S 0.0 0.3 1:47.26 /usr/bin/dockerd -H fd://
|
|
||||||
F1Help F2Setup F3SearchF4FilterF5Tree F6SortByF7Nice -F8Nice +F9Kill F10Quit
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
1 [||||||||||||||||||||||||||||||||||||||||||100.0%] Tasks: 79, 382 thr; 1 running
|
|
||||||
2 [ 0.0%] Load average: 1.40 1.43 1.38
|
|
||||||
3 [ 0.0%] Uptime: 2 days, 07:33:50
|
|
||||||
4 [ 0.0%]
|
|
||||||
Mem[|||||||||||||||||||||||||||||||||||||3.64G/15.3G]
|
|
||||||
Swp[ 0K/16.0G]
|
|
||||||
|
|
||||||
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
|
|
||||||
123934 aram 20 0 8444 4384 3364 R 66.7 0.0 0:00.05 htop --delay=100000000000
|
|
||||||
1 root 20 0 171M 11616 8608 S 0.0 0.1 0:56.91 /sbin/init
|
|
||||||
268 root 20 0 93324 34340 33072 S 0.0 0.2 0:01.05 /usr/lib/systemd/systemd-journald
|
|
||||||
276 root 20 0 32648 10192 7240 S 0.0 0.1 0:01.13 /usr/lib/systemd/systemd-udevd
|
|
||||||
286 root 20 0 78060 1132 996 S 0.0 0.0 0:00.00 /usr/bin/lvmetad -f
|
|
||||||
343 dbus 20 0 6952 4384 3520 S 0.0 0.0 0:13.85 /usr/bin/dbus-daemon --system --address=systemd: --
|
|
||||||
344 root 20 0 14588 7512 6176 S 0.0 0.0 0:03.21 /usr/bin/connmand -n --nodnsproxy
|
|
||||||
345 root 20 0 17696 8372 7128 S 0.0 0.1 0:00.67 /usr/lib/systemd/systemd-logind
|
|
||||||
395 root 20 0 1635M 83324 44976 S 0.0 0.5 0:32.43 /usr/bin/dockerd -H fd://
|
|
||||||
396 root 20 0 1635M 83324 44976 S 0.0 0.5 0:00.01 /usr/bin/dockerd -H fd://
|
|
||||||
397 root 20 0 1635M 83324 44976 S 0.0 0.5 0:00.01 /usr/bin/dockerd -H fd://
|
|
||||||
398 root 20 0 1635M 83324 44976 S 0.0 0.5 0:00.00 /usr/bin/dockerd -H fd://
|
|
||||||
399 root 20 0 1635M 83324 44976 S 0.0 0.5 0:00.00 /usr/bin/dockerd -H fd://
|
|
||||||
412 root 20 0 1635M 83324 44976 S 0.0 0.5 0:00.00 /usr/bin/dockerd -H fd://
|
|
||||||
441 root 20 0 1635M 83324 44976 S 0.0 0.5 0:41.35 /usr/bin/dockerd -H fd://
|
|
||||||
442 root 20 0 1635M 83324 44976 S 0.0 0.5 0:33.61 /usr/bin/dockerd -H fd://
|
|
||||||
444 root 20 0 1635M 83324 44976 S 0.0 0.5 0:33.13 /usr/bin/dockerd -H fd://
|
|
||||||
449 root 20 0 1635M 83324 44976 S 0.0 0.5 0:41.39 /usr/bin/dockerd -H fd://
|
|
||||||
F1Help F2Setup F3SearchF4FilterF5Tree F6SortByF7Nice -F8Nice +F9Kill F10Quit
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line 1
|
|
||||||
line 2
|
|
||||||
line 3
|
|
||||||
line 4
|
|
||||||
line 5
|
|
||||||
line 6
|
|
||||||
line 7
|
|
||||||
line 8
|
|
||||||
line 9
|
|
||||||
█ine 10
|
|
||||||
line 11
|
|
||||||
line 12
|
|
||||||
line 13
|
|
||||||
line 14
|
|
||||||
line 15
|
|
||||||
line 16
|
|
||||||
line 17
|
|
||||||
line 18
|
|
||||||
line 19
|
|
||||||
line 20
|
|
||||||
line 21
|
|
||||||
line 22
|
|
||||||
line 23
|
|
||||||
line 24
|
|
||||||
line 25
|
|
||||||
line 26
|
|
||||||
some-file 10,1 Top
|
|
||||||
-- INSERT --
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
Total Up / Down: 46Bps / 57Bps
|
|
||||||
┌Utilization by process name───────────────────────────────────────────────────────────────────────────────────────┐
|
|
||||||
│Process Connections Up / Down │
|
|
||||||
│ │
|
|
||||||
│firefox 3 46Bps / 57Bps │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
│ │
|
|
||||||
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
|
|
||||||
Press <SPACE> to pause. Use <TAB> to rearrange tables. (DNS queries hidden).
|
|
||||||
|
|
@ -1,61 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
Tasks: 158 total, 1 running, 157 sleeping, 0 stopped, 0 zombie
|
|
||||||
%Cpu(s): 24.2 us, 1.6 sy, 0.0 ni, 74.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
|
|
||||||
MiB Mem : 15715.1 total, 7001.4 free, 2163.7 used, 6549.9 buff/cache
|
|
||||||
MiB Swap: 16384.0 total, 16384.0 free, 0.0 used. 12809.8 avail Mem
|
|
||||||
|
|
||||||
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
|
|
||||||
15838 aram 20 0 7275240 56912 18964 S 73.3 0.4 0:17.79 zellij
|
|
||||||
12653 aram 20 0 39032 22164 14372 S 20.0 0.1 0:00.63 urxvt
|
|
||||||
1477 aram 20 0 3178660 301992 203236 S 6.7 1.9 3:49.82 Web Content
|
|
||||||
1 root 20 0 175360 11532 8596 S 0.0 0.1 0:05.90 systemd
|
|
||||||
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
|
|
||||||
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
|
|
||||||
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
|
|
||||||
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-kblockd
|
|
||||||
8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
|
|
||||||
9 root 20 0 0 0 0 S 0.0 0.0 0:01.24 ksoftirqd/0
|
|
||||||
10 root -2 0 0 0 0 S 0.0 0.0 0:00.00 rcuc/0
|
|
||||||
11 root -2 0 0 0 0 I 0.0 0.0 0:06.12 rcu_preempt
|
|
||||||
12 root -2 0 0 0 0 S 0.0 0.0 0:00.00 rcub/0
|
|
||||||
13 root rt 0 0 0 0 S 0.0 0.0 0:00.01 migration/0
|
|
||||||
14 root -51 0 0 0 0 S 0.0 0.0 0:00.00 idle_inject/0
|
|
||||||
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
|
|
||||||
17 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
|
|
||||||
18 root -51 0 0 0 0 S 0.0 0.0 0:00.00 idle_inject/1
|
|
||||||
19 root rt 0 0 0 0 S 0.0 0.0 0:00.35 migration/1
|
|
||||||
20 root -2 0 0 0 0 S 0.0 0.0 0:00.00 rcuc/1
|
|
||||||
21 root 20 0 0 0 0 S 0.0 0.0 0:00.49 ksoftirqd/1
|
|
||||||
23 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/1:0H-kblockd
|
|
||||||
24 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/2
|
|
||||||
25 root -51 0 0 0 0 S 0.0 0.0 0:00.00 idle_inject/2
|
|
||||||
26 root rt 0 0 0 0 S 0.0 0.0 0:00.39 migration/2
|
|
||||||
27 root -2 0 0 0 0 S 0.0 0.0 0:00.00 rcuc/2
|
|
||||||
28 root 20 0 0 0 0 S 0.0 0.0 0:00.99 ksoftirqd/2
|
|
||||||
30 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/2:0H-kblockd
|
|
||||||
31 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/3
|
|
||||||
32 root -51 0 0 0 0 S 0.0 0.0 0:00.00 idle_inject/3
|
|
||||||
33 root rt 0 0 0 0 S 0.0 0.0 0:00.43 migration/3
|
|
||||||
34 root -2 0 0 0 0 S 0.0 0.0 0:00.00 rcuc/3
|
|
||||||
35 root 20 0 0 0 0 S 0.0 0.0 0:00.90 ksoftirqd/3
|
|
||||||
37 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/3:0H-kblockd
|
|
||||||
38 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
|
|
||||||
39 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 netns
|
|
||||||
40 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_tasks_kthre
|
|
||||||
41 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kauditd
|
|
||||||
44 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd
|
|
||||||
45 root 20 0 0 0 0 S 0.0 0.0 0:00.00 oom_reaper
|
|
||||||
46 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 writeback
|
|
||||||
47 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kcompactd0
|
|
||||||
48 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd
|
|
||||||
49 root 39 19 0 0 0 S 0.0 0.0 0:00.00 khugepaged
|
|
||||||
137 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kintegrityd
|
|
||||||
138 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kblockd
|
|
||||||
139 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 blkcg_punt_bio
|
|
||||||
140 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 ata_sff
|
|
||||||
141 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 edac-poller
|
|
||||||
⋊> ~/c/zellij on fix-top ⨯ █ 13:00:53
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
3 line14
|
|
||||||
2 line15
|
|
||||||
1 line16
|
|
||||||
17 █ine17
|
|
||||||
1 line18
|
|
||||||
2 line19
|
|
||||||
3 line20
|
|
||||||
4 line21
|
|
||||||
5 line22
|
|
||||||
6 line23
|
|
||||||
7 line24
|
|
||||||
8 line25
|
|
||||||
9 line26
|
|
||||||
10 line27
|
|
||||||
11 line28
|
|
||||||
12 line29
|
|
||||||
13 line30
|
|
||||||
14 line31
|
|
||||||
15 line32
|
|
||||||
16 line33
|
|
||||||
17 line34
|
|
||||||
18 line35
|
|
||||||
19 line36
|
|
||||||
20 line37
|
|
||||||
21 line38
|
|
||||||
22 line39
|
|
||||||
NORMAL testfile.rs unix | utf-8 | rust 40% 17:1
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
22 line4
|
|
||||||
21 line5
|
|
||||||
20 line6
|
|
||||||
19 line7
|
|
||||||
18 line8
|
|
||||||
17 line9
|
|
||||||
16 line10
|
|
||||||
15 line11
|
|
||||||
14 line12
|
|
||||||
13 line13
|
|
||||||
12 line14
|
|
||||||
11 line15
|
|
||||||
10 line16
|
|
||||||
9 line17
|
|
||||||
8 line18
|
|
||||||
7 line19
|
|
||||||
6 line20
|
|
||||||
5 line21
|
|
||||||
4 line22
|
|
||||||
3 line23
|
|
||||||
2 line24
|
|
||||||
1 line25
|
|
||||||
26 █ine26
|
|
||||||
1 line27
|
|
||||||
2 line28
|
|
||||||
3 line29
|
|
||||||
NORMAL testfile.rs unix | utf-8 | rust 61% 26:1
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
1 █
|
|
||||||
1 line 1
|
|
||||||
2 line 2
|
|
||||||
3 line 3
|
|
||||||
4 line 4
|
|
||||||
5 line 5
|
|
||||||
6 line 6
|
|
||||||
7 line 7
|
|
||||||
8 line 8
|
|
||||||
9 line 9
|
|
||||||
10 line 10
|
|
||||||
11 line 11
|
|
||||||
12 line 12
|
|
||||||
13 line 13
|
|
||||||
14 line 14
|
|
||||||
15 line 15
|
|
||||||
16 line 16
|
|
||||||
17 line 17
|
|
||||||
18 line 18
|
|
||||||
19 line 19
|
|
||||||
20 line 20
|
|
||||||
21 line 21
|
|
||||||
22 line 22
|
|
||||||
23 line 23
|
|
||||||
24 line 24
|
|
||||||
25 line 25
|
|
||||||
NORMAL some-file unix | utf-8 | no ft 1% 1:1
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/compatibility.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
22 line2
|
|
||||||
21 line3
|
|
||||||
20 line4
|
|
||||||
19 line5
|
|
||||||
18 line6
|
|
||||||
17 line7
|
|
||||||
16 line8
|
|
||||||
15 line9
|
|
||||||
14 line10
|
|
||||||
13 line11
|
|
||||||
12 line12
|
|
||||||
11 line13
|
|
||||||
10 line14
|
|
||||||
9 line15
|
|
||||||
8 line16
|
|
||||||
7 line17
|
|
||||||
6 line18
|
|
||||||
5 line19
|
|
||||||
4 line20
|
|
||||||
3 line21
|
|
||||||
2 line22
|
|
||||||
1 line23
|
|
||||||
24 █ine24
|
|
||||||
1 line25
|
|
||||||
2 line26
|
|
||||||
3 line27
|
|
||||||
NORMAL testfile.rs unix | utf-8 | rust 57% 24:1
|
|
||||||
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/layouts.rs
|
|
||||||
expression: next_to_last_snapshot
|
|
||||||
|
|
||||||
---
|
|
||||||
line6-bbbbbbbbbbbbbbbbbb│line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line7-bbbbbbbbbbbbbbbbbb│line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line8-bbbbbbbbbbbbbbbbbb│line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line9-bbbbbbbbbbbbbbbbbb│line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line10-bbbbbbbbbbbbbbbbb│line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line11-bbbbbbbbbbbbbbbbb│line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line12-bbbbbbbbbbbbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line13-bbbbbbbbbbbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-bbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-bbbbbbbbbbbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-bbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ █ │prompt $
|
|
||||||
────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/layouts.rs
|
|
||||||
expression: last_snapshot
|
|
||||||
|
|
||||||
---
|
|
||||||
Bye from Zellij!
|
|
||||||
█
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/layouts.rs
|
|
||||||
expression: first_snapshot
|
|
||||||
|
|
||||||
---
|
|
||||||
█ │
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
│
|
|
||||||
────────────────────────┴────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_down.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_down.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
────────────────────────────────────────────────────────────┬──────────────────────────────┬─────────────────────────────
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line16-bbbbbbbbbbbbbbbbbbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line18-bbbbbbbbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line19-bbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_down.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
────────────────────────────────────────────────────────────┬──────────────────────────────┬─────────────────────────────
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line16-bbbbbbbbbbbbbbbbbbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line18-bbbbbbbbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line19-bbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_left.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
a │line1-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line2-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line3-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line4-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line5-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ █ │prompt $
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_left.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_left.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line1-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line2-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line3-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line4-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line5-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
────────────────────────────────────────────────────────────┤line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
────────────────────────────────────────────────────────────┤line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ █ │prompt $
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_left.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line1-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line2-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line3-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line4-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line5-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
────────────────────────────────────────────────────────────┤line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
────────────────────────────────────────────────────────────┤line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ █ │prompt $
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_right.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
a │line1-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line2-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line3-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line4-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line5-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line6-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line7-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line8-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_right.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_right.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
a │line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │prompt $
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa├────────────────────────────────────────────────────────────
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│prompt $
|
|
||||||
a ├────────────────────────────────────────────────────────────
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_right.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
a │line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │prompt $
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa├────────────────────────────────────────────────────────────
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│prompt $
|
|
||||||
a ├────────────────────────────────────────────────────────────
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_up.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_up.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line11-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line16-bbbbbbbbbbbbbbbbbbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line18-bbbbbbbbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line19-bbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ │prompt $ █
|
|
||||||
────────────────────────────────────────────────────────────┴──────────────────────────────┴─────────────────────────────
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/move_focus_up.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line11-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line16-bbbbbbbbbbbbbbbbbbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line18-bbbbbbbbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line19-bbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ │prompt $ █
|
|
||||||
────────────────────────────────────────────────────────────┴──────────────────────────────┴─────────────────────────────
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/resize_down.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/resize_down.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line9-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line10-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line11-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $
|
|
||||||
────────────────────────────────────────────────────────────┴────────────────────────────────────────────────────────────
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/resize_down.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line9-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line10-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/resize_down.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line9-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line10-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line11-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line12-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line13-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $ █
|
|
||||||
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
|
|
||||||
line14-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line15-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line16-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
|
||||||
prompt $
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
---
|
|
||||||
source: src/tests/integration/resize_down.rs
|
|
||||||
expression: snapshot_before_quit
|
|
||||||
|
|
||||||
---
|
|
||||||
line17-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line11-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line15-bbbbbbbbbbbbbbbbbbbbbbb│line12-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line13-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line16-bbbbbbbbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │line17-bbbbbbbbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│line18-bbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
a │bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │line19-bbbbbbbbbbbbbbbbbbbbbbb│prompt $
|
|
||||||
────────────────────────────────────────────────────────────┤bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb├─────────────────────────────
|
|
||||||
line12-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│prompt $ │line12-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line13-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb├──────────────────────────────┤line13-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line14-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbbb│line14-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line15-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbbb│line15-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line16-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbbb│line16-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line17-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbbb│line17-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line18-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbbb│line18-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
line19-bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbbb│line19-bbbbbbbbbbbbbbbbbbbbbb
|
|
||||||
prompt $ │prompt $ █ │prompt $
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue