use super::*; #[tokio::test(flavor = "multi_thread")] async fn test_move_parent_node_end() -> anyhow::Result<()> { let tests = vec![ // single cursor stays single cursor, first goes to end of current // node, then parent ( helpers::platform_line(indoc! {r##" fn foo() { let result = if true { "yes" } else { "no#["|]# } } "##}), "", helpers::platform_line(indoc! {"\ fn foo() { let result = if true { \"yes\" } else { \"no\"#[\n|]# } } "}), ), ( helpers::platform_line(indoc! {"\ fn foo() { let result = if true { \"yes\" } else { \"no\"#[\n|]# } } "}), "", helpers::platform_line(indoc! {"\ fn foo() { let result = if true { \"yes\" } else { \"no\" }#[\n|]# } "}), ), // select mode extends ( helpers::platform_line(indoc! {r##" fn foo() { let result = if true { "yes" } else { #["no"|]# } } "##}), "v", helpers::platform_line(indoc! {"\ fn foo() { let result = if true { \"yes\" } else { #[\"no\" }\n|]# } "}), ), ]; for test in tests { test_with_config(AppBuilder::new().with_file("foo.rs", None), test).await?; } Ok(()) } #[tokio::test(flavor = "multi_thread")] async fn test_move_parent_node_start() -> anyhow::Result<()> { let tests = vec![ // single cursor stays single cursor, first goes to end of current // node, then parent ( helpers::platform_line(indoc! {r##" fn foo() { let result = if true { "yes" } else { "no#["|]# } } "##}), "", helpers::platform_line(indoc! {"\ fn foo() { let result = if true { \"yes\" } else { #[\"|]#no\" } } "}), ), ( helpers::platform_line(indoc! {"\ fn foo() { let result = if true { \"yes\" } else { \"no\"#[\n|]# } } "}), "", helpers::platform_line(indoc! {"\ fn foo() { let result = if true { \"yes\" } else #[{|]# \"no\" } } "}), ), ( helpers::platform_line(indoc! {"\ fn foo() { let result = if true { \"yes\" } else #[{|]# \"no\" } } "}), "", helpers::platform_line(indoc! {"\ fn foo() { let result = if true { \"yes\" } #[e|]#lse { \"no\" } } "}), ), // select mode extends ( helpers::platform_line(indoc! {r##" fn foo() { let result = if true { "yes" } else { #["no"|]# } } "##}), "v", helpers::platform_line(indoc! {"\ fn foo() { let result = if true { \"yes\" } else #[|{ ]#\"no\" } } "}), ), ( helpers::platform_line(indoc! {r##" fn foo() { let result = if true { "yes" } else { #["no"|]# } } "##}), "v", helpers::platform_line(indoc! {"\ fn foo() { let result = if true { \"yes\" } #[|else { ]#\"no\" } } "}), ), ]; for test in tests { test_with_config(AppBuilder::new().with_file("foo.rs", None), test).await?; } Ok(()) }