Skip to content

Commit 1d3a3c0

Browse files
bors[bot]matklad
andauthored
Merge #5221
5221: Modernize postfix completion tests r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
2 parents 1ee524b + ba9c398 commit 1d3a3c0

File tree

2 files changed

+160
-600
lines changed

2 files changed

+160
-600
lines changed

crates/ra_ide/src/completion/complete_pattern.rs

Lines changed: 37 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -33,107 +33,56 @@ pub(super) fn complete_pattern(acc: &mut Completions, ctx: &CompletionContext) {
3333

3434
#[cfg(test)]
3535
mod tests {
36-
use crate::completion::{test_utils::do_completion, CompletionItem, CompletionKind};
37-
use insta::assert_debug_snapshot;
36+
use expect::{expect, Expect};
3837

39-
fn complete(code: &str) -> Vec<CompletionItem> {
40-
do_completion(code, CompletionKind::Reference)
38+
use crate::completion::{test_utils::completion_list, CompletionKind};
39+
40+
fn check(ra_fixture: &str, expect: Expect) {
41+
let actual = completion_list(ra_fixture, CompletionKind::Reference);
42+
expect.assert_eq(&actual)
4143
}
4244

4345
#[test]
4446
fn completes_enum_variants_and_modules() {
45-
let completions = complete(
46-
r"
47-
enum E { X }
48-
use self::E::X;
49-
const Z: E = E::X;
50-
mod m {}
47+
check(
48+
r#"
49+
enum E { X }
50+
use self::E::X;
51+
const Z: E = E::X;
52+
mod m {}
5153
52-
static FOO: E = E::X;
53-
struct Bar { f: u32 }
54+
static FOO: E = E::X;
55+
struct Bar { f: u32 }
5456
55-
fn foo() {
56-
match E::X {
57-
<|>
58-
}
59-
}
60-
",
57+
fn foo() {
58+
match E::X { <|> }
59+
}
60+
"#,
61+
expect![[r#"
62+
st Bar
63+
en E
64+
ev X ()
65+
ct Z
66+
md m
67+
"#]],
6168
);
62-
assert_debug_snapshot!(completions, @r###"
63-
[
64-
CompletionItem {
65-
label: "Bar",
66-
source_range: 137..137,
67-
delete: 137..137,
68-
insert: "Bar",
69-
kind: Struct,
70-
},
71-
CompletionItem {
72-
label: "E",
73-
source_range: 137..137,
74-
delete: 137..137,
75-
insert: "E",
76-
kind: Enum,
77-
},
78-
CompletionItem {
79-
label: "X",
80-
source_range: 137..137,
81-
delete: 137..137,
82-
insert: "X",
83-
kind: EnumVariant,
84-
detail: "()",
85-
},
86-
CompletionItem {
87-
label: "Z",
88-
source_range: 137..137,
89-
delete: 137..137,
90-
insert: "Z",
91-
kind: Const,
92-
},
93-
CompletionItem {
94-
label: "m",
95-
source_range: 137..137,
96-
delete: 137..137,
97-
insert: "m",
98-
kind: Module,
99-
},
100-
]
101-
"###);
10269
}
10370

10471
#[test]
10572
fn completes_in_simple_macro_call() {
106-
let completions = complete(
107-
r"
108-
macro_rules! m { ($e:expr) => { $e } }
109-
enum E { X }
73+
check(
74+
r#"
75+
macro_rules! m { ($e:expr) => { $e } }
76+
enum E { X }
11077
111-
fn foo() {
112-
m!(match E::X {
113-
<|>
114-
})
115-
}
116-
",
78+
fn foo() {
79+
m!(match E::X { <|> })
80+
}
81+
"#,
82+
expect![[r#"
83+
en E
84+
ma m!(…) macro_rules! m
85+
"#]],
11786
);
118-
assert_debug_snapshot!(completions, @r###"
119-
[
120-
CompletionItem {
121-
label: "E",
122-
source_range: 90..90,
123-
delete: 90..90,
124-
insert: "E",
125-
kind: Enum,
126-
},
127-
CompletionItem {
128-
label: "m!(…)",
129-
source_range: 90..90,
130-
delete: 90..90,
131-
insert: "m!($0)",
132-
kind: Macro,
133-
lookup: "m!",
134-
detail: "macro_rules! m",
135-
},
136-
]
137-
"###);
13887
}
13988
}

0 commit comments

Comments
 (0)