Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide_completion/src/tests/pattern.rs')
-rw-r--r--crates/ide_completion/src/tests/pattern.rs68
1 files changed, 67 insertions, 1 deletions
diff --git a/crates/ide_completion/src/tests/pattern.rs b/crates/ide_completion/src/tests/pattern.rs
index 891c1346df..50d5e01979 100644
--- a/crates/ide_completion/src/tests/pattern.rs
+++ b/crates/ide_completion/src/tests/pattern.rs
@@ -150,6 +150,7 @@ fn foo() {
bn Tuple Tuple($1)$0
st Tuple
ev Variant
+ md module
en SingleVariantEnum
st Unit
ma makro!(…) macro_rules! makro
@@ -171,6 +172,7 @@ fn foo(a$0) {
st Record
bn Tuple Tuple($1): Tuple$0
st Tuple
+ md module
st Unit
ma makro!(…) macro_rules! makro
"#]],
@@ -187,6 +189,7 @@ fn foo(a$0: Tuple) {
st Record
bn Tuple Tuple($1)$0
st Tuple
+ md module
st Unit
ma makro!(…) macro_rules! makro
"#]],
@@ -228,7 +231,6 @@ fn foo() {
expect![[r#"
kw ref
kw mut
- ev E::X E::X
en E
ma m!(…) macro_rules! m
"#]],
@@ -378,3 +380,67 @@ fn foo() {
"#]],
)
}
+
+#[test]
+fn completes_no_delims_if_existing() {
+ check_empty(
+ r#"
+struct Bar(u32);
+fn foo() {
+ match Bar(0) {
+ B$0(b) => {}
+ }
+}
+"#,
+ expect![[r#"
+ kw self::
+ kw super::
+ kw crate::
+ "#]],
+ );
+ check_empty(
+ r#"
+struct Foo { bar: u32 }
+fn foo() {
+ match Foo { bar: 0 } {
+ F$0 { bar } => {}
+ }
+}
+"#,
+ expect![[r#"
+ kw return
+ kw self
+ kw super
+ kw crate
+ st Foo
+ fn foo() fn()
+ bt u32
+ "#]],
+ );
+ check_empty(
+ r#"
+enum Enum {
+ TupleVariant(u32)
+}
+fn foo() {
+ match Enum::TupleVariant(0) {
+ Enum::T$0(b) => {}
+ }
+}
+"#,
+ expect![[r#""#]],
+ );
+ check_empty(
+ r#"
+enum Enum {
+ RecordVariant { field: u32 }
+}
+fn foo() {
+ match (Enum::RecordVariant { field: 0 }) {
+ Enum::RecordV$0 { field } => {}
+ }
+}
+"#,
+ expect![[r#""#]],
+ );
+}