aboutsummaryrefslogtreecommitdiffstats
path: root/src/tests
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2020-12-17 15:42:49 +0100
committerGitHub <noreply@github.com>2020-12-17 15:42:49 +0100
commitf1f821c7bda35db9f05059ca517aa918f9540dec (patch)
tree44f7d7b2656f98bfd694408dd5969264df23864a /src/tests
parentfix(compatibility): fix neovim scrolling (#107) (diff)
downloadsl0ppij-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.rs2
-rw-r--r--src/tests/fixtures/nvim_insertbin0 -> 2548 bytes
-rw-r--r--src/tests/integration/compatibility.rs23
-rw-r--r--src/tests/integration/snapshots/mosaic__tests__integration__compatibility__neovim_insert_mode-2.snap32
-rw-r--r--src/tests/integration/snapshots/mosaic__tests__integration__compatibility__neovim_insert_mode.snap32
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
new file mode 100644
index 00000000..4d476275
--- /dev/null
+++ b/src/tests/fixtures/nvim_insert
Binary files differ
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 --