aboutsummaryrefslogtreecommitdiff
path: root/crates/ide_diagnostics/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ide_diagnostics/src/lib.rs')
-rw-r--r--crates/ide_diagnostics/src/lib.rs21
1 files changed, 18 insertions, 3 deletions
diff --git a/crates/ide_diagnostics/src/lib.rs b/crates/ide_diagnostics/src/lib.rs
index 52474eeab..6ad1b4373 100644
--- a/crates/ide_diagnostics/src/lib.rs
+++ b/crates/ide_diagnostics/src/lib.rs
@@ -235,7 +235,7 @@ mod tests {
235 use stdx::trim_indent; 235 use stdx::trim_indent;
236 use test_utils::{assert_eq_text, extract_annotations}; 236 use test_utils::{assert_eq_text, extract_annotations};
237 237
238 use crate::DiagnosticsConfig; 238 use crate::{DiagnosticsConfig, Severity};
239 239
240 /// Takes a multi-file input fixture with annotated cursor positions, 240 /// Takes a multi-file input fixture with annotated cursor positions,
241 /// and checks that: 241 /// and checks that:
@@ -331,8 +331,23 @@ mod tests {
331 super::diagnostics(&db, &config, &AssistResolveStrategy::All, file_id); 331 super::diagnostics(&db, &config, &AssistResolveStrategy::All, file_id);
332 332
333 let expected = extract_annotations(&*db.file_text(file_id)); 333 let expected = extract_annotations(&*db.file_text(file_id));
334 let mut actual = 334 let mut actual = diagnostics
335 diagnostics.into_iter().map(|d| (d.range, d.message)).collect::<Vec<_>>(); 335 .into_iter()
336 .map(|d| {
337 let mut annotation = String::new();
338 if let Some(fixes) = &d.fixes {
339 assert!(!fixes.is_empty());
340 annotation.push_str("💡 ")
341 }
342 annotation.push_str(match d.severity {
343 Severity::Error => "error",
344 Severity::WeakWarning => "weak",
345 });
346 annotation.push_str(": ");
347 annotation.push_str(&d.message);
348 (d.range, annotation)
349 })
350 .collect::<Vec<_>>();
336 actual.sort_by_key(|(range, _)| range.start()); 351 actual.sort_by_key(|(range, _)| range.start());
337 assert_eq!(expected, actual); 352 assert_eq!(expected, actual);
338 } 353 }