Skip to content

Commit f123539

Browse files
committed
More assert refactoring
1 parent 4c92f2d commit f123539

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

crates/ra_ide/src/completion/complete_keyword.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ mod tests {
118118
},
119119
CompletionItemKind,
120120
};
121-
use insta::assert_debug_snapshot;
121+
use insta::{assert_snapshot, assert_debug_snapshot};
122122
use rustc_hash::FxHashSet;
123123

124124
fn do_keyword_completion(code: &str) -> Vec<CompletionItem> {
@@ -128,22 +128,23 @@ mod tests {
128128
fn assert_completion_keyword(code: &str, keywords: &[(&str, &str)]) {
129129
let (position, completion_items) =
130130
do_completion_with_position(code, CompletionKind::Keyword);
131-
let mut set = FxHashSet::<(String, String)>::default();
131+
let mut expected_keywords = FxHashSet::<(String, String)>::default();
132132
for (key, value) in keywords {
133-
set.insert(((*key).to_string(), (*value).to_string()));
133+
expected_keywords.insert(((*key).to_string(), (*value).to_string()));
134134
}
135-
135+
let mut returned_keywords = FxHashSet::<(String, String)>::default();
136+
136137
for item in completion_items {
137138
assert!(item.text_edit().len() == 1);
138139
assert!(item.kind() == Some(CompletionItemKind::Keyword));
139140
let atom = item.text_edit().iter().next().unwrap().clone();
140141
assert!(atom.delete.start() == position.offset);
141142
assert!(atom.delete.end() == position.offset);
142143
let pair = (item.label().to_string(), atom.insert);
143-
assert!(set.contains(&pair));
144-
set.remove(&pair);
144+
returned_keywords.insert(pair);
145145
}
146-
assert!(set.is_empty());
146+
let assert_failed_message = format!("Expected keywords: {:#?}\nReceived keywords: {:#?}", expected_keywords, returned_keywords);
147+
debug_assert!(returned_keywords == expected_keywords, assert_failed_message);
147148
}
148149

149150
#[test]

0 commit comments

Comments
 (0)