@@ -118,7 +118,7 @@ mod tests {
118
118
} ,
119
119
CompletionItemKind ,
120
120
} ;
121
- use insta:: assert_debug_snapshot;
121
+ use insta:: { assert_snapshot , assert_debug_snapshot} ;
122
122
use rustc_hash:: FxHashSet ;
123
123
124
124
fn do_keyword_completion ( code : & str ) -> Vec < CompletionItem > {
@@ -128,22 +128,23 @@ mod tests {
128
128
fn assert_completion_keyword ( code : & str , keywords : & [ ( & str , & str ) ] ) {
129
129
let ( position, completion_items) =
130
130
do_completion_with_position ( code, CompletionKind :: Keyword ) ;
131
- let mut set = FxHashSet :: < ( String , String ) > :: default ( ) ;
131
+ let mut expected_keywords = FxHashSet :: < ( String , String ) > :: default ( ) ;
132
132
for ( key, value) in keywords {
133
- set . insert ( ( ( * key) . to_string ( ) , ( * value) . to_string ( ) ) ) ;
133
+ expected_keywords . insert ( ( ( * key) . to_string ( ) , ( * value) . to_string ( ) ) ) ;
134
134
}
135
-
135
+ let mut returned_keywords = FxHashSet :: < ( String , String ) > :: default ( ) ;
136
+
136
137
for item in completion_items {
137
138
assert ! ( item. text_edit( ) . len( ) == 1 ) ;
138
139
assert ! ( item. kind( ) == Some ( CompletionItemKind :: Keyword ) ) ;
139
140
let atom = item. text_edit ( ) . iter ( ) . next ( ) . unwrap ( ) . clone ( ) ;
140
141
assert ! ( atom. delete. start( ) == position. offset) ;
141
142
assert ! ( atom. delete. end( ) == position. offset) ;
142
143
let pair = ( item. label ( ) . to_string ( ) , atom. insert ) ;
143
- assert ! ( set. contains( & pair) ) ;
144
- set. remove ( & pair) ;
144
+ returned_keywords. insert ( pair) ;
145
145
}
146
- assert ! ( set. is_empty( ) ) ;
146
+ let assert_failed_message = format ! ( "Expected keywords: {:#?}\n Received keywords: {:#?}" , expected_keywords, returned_keywords) ;
147
+ debug_assert ! ( returned_keywords == expected_keywords, assert_failed_message) ;
147
148
}
148
149
149
150
#[ test]
0 commit comments