Remove another supported exemption

This commit is contained in:
Conrad Irwin 2023-09-12 11:24:48 -06:00
parent dcaba9d9e7
commit 0958def770
3 changed files with 30 additions and 22 deletions

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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