diff options
| author | Aram Drevekenin <aram@poor.dev> | 2020-12-17 15:42:49 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-17 15:42:49 +0100 |
| commit | f1f821c7bda35db9f05059ca517aa918f9540dec (patch) | |
| tree | 44f7d7b2656f98bfd694408dd5969264df23864a /src/tests | |
| parent | fix(compatibility): fix neovim scrolling (#107) (diff) | |
| download | sl0ppij-f1f821c7bda35db9f05059ca517aa918f9540dec.tar.gz sl0ppij-f1f821c7bda35db9f05059ca517aa918f9540dec.tar.xz sl0ppij-f1f821c7bda35db9f05059ca517aa918f9540dec.zip | |
fix(compatibility): fix neovim change mode (#108)
Diffstat (limited to 'src/tests')
| -rw-r--r-- | src/tests/fakes.rs | 2 | ||||
| -rw-r--r-- | src/tests/fixtures/nvim_insert | bin | 0 -> 2548 bytes | |||
| -rw-r--r-- | src/tests/integration/compatibility.rs | 23 | ||||
| -rw-r--r-- | src/tests/integration/snapshots/mosaic__tests__integration__compatibility__neovim_insert_mode-2.snap | 32 | ||||
| -rw-r--r-- | src/tests/integration/snapshots/mosaic__tests__integration__compatibility__neovim_insert_mode.snap | 32 |
5 files changed, 88 insertions, 1 deletions
diff --git a/src/tests/fakes.rs b/src/tests/fakes.rs index f20f30ce..8ae1a972 100644 --- a/src/tests/fakes.rs +++ b/src/tests/fakes.rs @@ -11,7 +11,7 @@ use crate::os_input_output::OsApi; use crate::tests::possible_tty_inputs::{get_possible_tty_inputs, Bytes}; use crate::tests::utils::commands::QUIT; -const MIN_TIME_BETWEEN_SNAPSHOTS: Duration = Duration::from_millis(50); +const MIN_TIME_BETWEEN_SNAPSHOTS: Duration = Duration::from_millis(100); const WAIT_TIME_BEFORE_QUITTING: Duration = Duration::from_millis(50); #[derive(Clone)] diff --git a/src/tests/fixtures/nvim_insert b/src/tests/fixtures/nvim_insert Binary files differnew file mode 100644 index 00000000..4d476275 --- /dev/null +++ b/src/tests/fixtures/nvim_insert diff --git a/src/tests/integration/compatibility.rs b/src/tests/integration/compatibility.rs index 6fbf99e9..467a99ca 100644 --- a/src/tests/integration/compatibility.rs +++ b/src/tests/integration/compatibility.rs @@ -340,3 +340,26 @@ pub fn display_tab_characters_properly() { assert_snapshot!(snapshot); } } + +#[test] +pub fn neovim_insert_mode() { + let fake_win_size = PositionAndSize { + columns: 116, + rows: 28, + x: 0, + y: 0, + }; + 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(&[&COMMAND_TOGGLE, &COMMAND_TOGGLE, &QUIT]); + start(Box::new(fake_input_output.clone()), Opt::default()); + let output_frames = fake_input_output + .stdout_writer + .output_frames + .lock() + .unwrap(); + let snapshots = get_output_frame_snapshots(&output_frames, &fake_win_size); + for snapshot in snapshots { + assert_snapshot!(snapshot); + } +} diff --git a/src/tests/integration/snapshots/mosaic__tests__integration__compatibility__neovim_insert_mode-2.snap b/src/tests/integration/snapshots/mosaic__tests__integration__compatibility__neovim_insert_mode-2.snap new file mode 100644 index 00000000..56728257 --- /dev/null +++ b/src/tests/integration/snapshots/mosaic__tests__integration__compatibility__neovim_insert_mode-2.snap @@ -0,0 +1,32 @@ +--- +source: src/tests/integration/compatibility.rs +expression: snapshot +--- +line 2 +line 3 +line 4 +line 5 +line 6 +line 7 +line 8 +line 9 +line 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 -- +Bye from Mosaic!█ diff --git a/src/tests/integration/snapshots/mosaic__tests__integration__compatibility__neovim_insert_mode.snap b/src/tests/integration/snapshots/mosaic__tests__integration__compatibility__neovim_insert_mode.snap new file mode 100644 index 00000000..819c92c8 --- /dev/null +++ b/src/tests/integration/snapshots/mosaic__tests__integration__compatibility__neovim_insert_mode.snap @@ -0,0 +1,32 @@ +--- +source: src/tests/integration/compatibility.rs +expression: snapshot +--- +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 -- |
