@@ -51,22 +51,82 @@ pub(super) fn complete_postfix(acc: &mut Completions, ctx: &CompletionContext) {
5151
5252#[ cfg( test) ]
5353mod tests {
54- use crate :: completion:: { check_completion, CompletionKind } ;
54+ use crate :: completion:: { do_completion, CompletionItem , CompletionKind } ;
55+ use insta:: assert_debug_snapshot_matches;
5556
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 )
5859 }
5960
6061 #[ test]
6162 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+ ]"###
70130 ) ;
71131 }
72132}
0 commit comments