@@ -33,107 +33,56 @@ pub(super) fn complete_pattern(acc: &mut Completions, ctx: &CompletionContext) {
3333
3434#[ cfg( test) ]
3535mod 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