Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/tests/item.rs')
-rw-r--r--crates/ide-completion/src/tests/item.rs89
1 files changed, 89 insertions, 0 deletions
diff --git a/crates/ide-completion/src/tests/item.rs b/crates/ide-completion/src/tests/item.rs
index de3fd05189..09254aed7c 100644
--- a/crates/ide-completion/src/tests/item.rs
+++ b/crates/ide-completion/src/tests/item.rs
@@ -6,6 +6,8 @@ use expect_test::{expect, Expect};
use crate::tests::{completion_list, BASE_ITEMS_FIXTURE};
+use super::check_edit;
+
fn check(ra_fixture: &str, expect: Expect) {
let actual = completion_list(&format!("{BASE_ITEMS_FIXTURE}{ra_fixture}"));
expect.assert_eq(&actual)
@@ -152,3 +154,90 @@ struct Foo {
"#]],
)
}
+
+#[test]
+fn add_space_after_vis_kw() {
+ check_edit(
+ "pub(crate)",
+ r"
+$0
+",
+ r#"
+pub(crate) $0
+"#,
+ );
+
+ check_edit(
+ "pub",
+ r"
+$0
+",
+ r#"
+pub $0
+"#,
+ );
+
+ check_edit(
+ "pub(super)",
+ r"
+$0
+",
+ r#"
+pub(super) $0
+"#,
+ );
+
+ check_edit(
+ "in",
+ r"
+pub($0)
+",
+ r#"
+pub(in $0)
+"#,
+ );
+}
+
+#[test]
+fn add_space_after_unsafe_kw() {
+ check_edit(
+ "unsafe",
+ r"
+$0
+",
+ r#"
+unsafe $0
+"#,
+ );
+}
+
+#[test]
+fn add_space_after_for_where_kw() {
+ check_edit(
+ "for",
+ r#"
+struct S {}
+
+impl Copy $0
+"#,
+ r#"
+struct S {}
+
+impl Copy for $0
+"#,
+ );
+
+ check_edit(
+ "where",
+ r#"
+struct S {}
+
+impl Copy for S $0
+"#,
+ r#"
+struct S {}
+
+impl Copy for S where $0
+"#,
+ );
+}