@@ -33,107 +33,56 @@ pub(super) fn complete_pattern(acc: &mut Completions, ctx: &CompletionContext) {
33
33
34
34
#[ cfg( test) ]
35
35
mod tests {
36
- use crate :: completion:: { test_utils:: do_completion, CompletionItem , CompletionKind } ;
37
- use insta:: assert_debug_snapshot;
36
+ use expect:: { expect, Expect } ;
38
37
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)
41
43
}
42
44
43
45
#[ test]
44
46
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 {}
51
53
52
- static FOO: E = E::X;
53
- struct Bar { f: u32 }
54
+ static FOO: E = E::X;
55
+ struct Bar { f: u32 }
54
56
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
+ "# ] ] ,
61
68
) ;
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
- "### ) ;
102
69
}
103
70
104
71
#[ test]
105
72
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 }
110
77
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
+ "# ] ] ,
117
86
) ;
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
- "### ) ;
138
87
}
139
88
}
0 commit comments