@@ -51,22 +51,82 @@ pub(super) fn complete_postfix(acc: &mut Completions, ctx: &CompletionContext) {
51
51
52
52
#[ cfg( test) ]
53
53
mod tests {
54
- use crate :: completion:: { check_completion, CompletionKind } ;
54
+ use crate :: completion:: { do_completion, CompletionItem , CompletionKind } ;
55
+ use insta:: assert_debug_snapshot_matches;
55
56
56
- fn check_snippet_completion ( test_name : & str , code : & str ) {
57
- check_completion ( test_name , code, CompletionKind :: Postfix ) ;
57
+ fn do_postfix_completion ( code : & str ) -> Vec < CompletionItem > {
58
+ do_completion ( code, CompletionKind :: Postfix )
58
59
}
59
60
60
61
#[ test]
61
62
fn postfix_completion_works_for_trivial_path_expression ( ) {
62
- check_snippet_completion (
63
- "postfix_completion_works_for_trivial_path_expression" ,
64
- r#"
65
- fn main() {
66
- let bar = "a";
67
- bar.<|>
68
- }
69
- "# ,
63
+ assert_debug_snapshot_matches ! (
64
+ do_postfix_completion(
65
+ r#"
66
+ fn main() {
67
+ let bar = "a";
68
+ bar.<|>
69
+ }
70
+ "# ,
71
+ ) ,
72
+ @r###"[
73
+ CompletionItem {
74
+ label: "box",
75
+ source_range: [88; 88),
76
+ delete: [84; 88),
77
+ insert: "Box::new(bar)",
78
+ detail: "Box::new(expr)",
79
+ },
80
+ CompletionItem {
81
+ label: "dbg",
82
+ source_range: [88; 88),
83
+ delete: [84; 88),
84
+ insert: "dbg!(bar)",
85
+ detail: "dbg!(expr)",
86
+ },
87
+ CompletionItem {
88
+ label: "if",
89
+ source_range: [88; 88),
90
+ delete: [84; 88),
91
+ insert: "if bar {$0}",
92
+ detail: "if expr {}",
93
+ },
94
+ CompletionItem {
95
+ label: "match",
96
+ source_range: [88; 88),
97
+ delete: [84; 88),
98
+ insert: "match bar {\n ${1:_} => {$0\\},\n}",
99
+ detail: "match expr {}",
100
+ },
101
+ CompletionItem {
102
+ label: "not",
103
+ source_range: [88; 88),
104
+ delete: [84; 88),
105
+ insert: "!bar",
106
+ detail: "!expr",
107
+ },
108
+ CompletionItem {
109
+ label: "ref",
110
+ source_range: [88; 88),
111
+ delete: [84; 88),
112
+ insert: "&bar",
113
+ detail: "&expr",
114
+ },
115
+ CompletionItem {
116
+ label: "refm",
117
+ source_range: [88; 88),
118
+ delete: [84; 88),
119
+ insert: "&mut bar",
120
+ detail: "&mut expr",
121
+ },
122
+ CompletionItem {
123
+ label: "while",
124
+ source_range: [88; 88),
125
+ delete: [84; 88),
126
+ insert: "while bar {\n$0\n}",
127
+ detail: "while expr {}",
128
+ },
129
+ ]"###
70
130
) ;
71
131
}
72
132
}
0 commit comments