@@ -356,7 +356,7 @@ mod test {
use crate::{
state::Mode::{self},
- test::{ExemptionFeatures, NeovimBackedTestContext},
+ test::NeovimBackedTestContext,
};
#[gpui::test]
@@ -762,20 +762,22 @@ mod test {
#[gpui::test]
async fn test_dd(cx: &mut gpui::TestAppContext) {
- let mut cx = NeovimBackedTestContext::new(cx).await.binding(["d", "d"]);
- cx.assert("ˇ").await;
- cx.assert("The ˇquick").await;
- cx.assert_all(indoc! {"
- The qˇuick
- brown ˇfox
- jumps ˇover"})
- .await;
- cx.assert_exempted(
+ let mut cx = NeovimBackedTestContext::new(cx).await;
+ cx.assert_neovim_compatible("ˇ", ["d", "d"]).await;
+ cx.assert_neovim_compatible("The ˇquick", ["d", "d"]).await;
+ for marked_text in cx.each_marked_position(indoc! {"
+ The qˇuick
+ brown ˇfox
+ jumps ˇover"})
+ {
+ cx.assert_neovim_compatible(&marked_text, ["d", "d"]).await;
+ }
+ cx.assert_neovim_compatible(
indoc! {"
The quick
ˇ
brown fox"},
- ExemptionFeatures::DeletionOnEmptyLine,
+ ["d", "d"],
)
.await;
}
@@ -322,24 +322,31 @@ mod test {
let mut cx = NeovimBackedTestContext::new(cx)
.await
.binding(["d", "g", "g"]);
- cx.assert_neovim_compatible(indoc! {"
+ cx.assert_neovim_compatible(
+ indoc! {"
The quick
brownˇ fox
jumps over
- the lazy"}, ["d", "g", "g"])
- .await;
- cx.assert_neovim_compatible(indoc! {"
+ the lazy"},
+ ["d", "g", "g"],
+ )
+ .await;
+ cx.assert_neovim_compatible(
+ indoc! {"
The quick
brown fox
jumps over
- the lˇazy"}, ["d", "g", "g"])
- .await;
+ the lˇazy"},
+ ["d", "g", "g"],
+ )
+ .await;
cx.assert_neovim_compatible(
indoc! {"
The qˇuick
brown fox
jumps over
- the lazy"},["d", "g", "g"]
+ the lazy"},
+ ["d", "g", "g"],
)
.await;
cx.assert_neovim_compatible(
@@ -347,7 +354,8 @@ mod test {
ˇ
brown fox
jumps over
- the lazy"},["d", "g", "g"]
+ the lazy"},
+ ["d", "g", "g"],
)
.await;
}
@@ -13,15 +13,13 @@ use util::test::{generate_marked_text, marked_text_offsets};
use super::{neovim_connection::NeovimConnection, NeovimBackedBindingTestContext, VimTestContext};
use crate::state::Mode;
-pub const SUPPORTED_FEATURES: &[ExemptionFeatures] = &[ExemptionFeatures::DeletionOnEmptyLine];
+pub const SUPPORTED_FEATURES: &[ExemptionFeatures] = &[];
/// Enum representing features we have tests for but which don't work, yet. Used
/// to add exemptions and automatically
#[derive(PartialEq, Eq)]
pub enum ExemptionFeatures {
// MOTIONS
- // Deletions on empty lines miss some newlines
- DeletionOnEmptyLine,
// When an operator completes at the end of the file, an extra newline is left
OperatorLastNewlineRemains,
// Deleting a word on an empty line doesn't remove the newline