Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-diagnostics/src/tests.rs')
| -rw-r--r-- | crates/ide-diagnostics/src/tests.rs | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/crates/ide-diagnostics/src/tests.rs b/crates/ide-diagnostics/src/tests.rs index fc2a7db717..13d08d46de 100644 --- a/crates/ide-diagnostics/src/tests.rs +++ b/crates/ide-diagnostics/src/tests.rs @@ -3,12 +3,12 @@ mod overly_long_real_world_cases; use ide_db::{ - assists::AssistResolveStrategy, base_db::SourceDatabase, LineIndexDatabase, RootDatabase, + LineIndexDatabase, RootDatabase, assists::AssistResolveStrategy, base_db::SourceDatabase, }; use itertools::Itertools; use stdx::trim_indent; use test_fixture::WithFixture; -use test_utils::{assert_eq_text, extract_annotations, MiniCore}; +use test_utils::{MiniCore, assert_eq_text, extract_annotations}; use crate::{DiagnosticsConfig, ExprFillDefaultMode, Severity}; @@ -75,7 +75,7 @@ fn check_nth_fix_with_config( &db, &config, &AssistResolveStrategy::All, - file_position.file_id.into(), + file_position.file_id.file_id(&db), ) .pop() .expect("no diagnostics"); @@ -85,7 +85,7 @@ fn check_nth_fix_with_config( let actual = { let source_change = fix.source_change.as_ref().unwrap(); let file_id = *source_change.source_file_edits.keys().next().unwrap(); - let mut actual = db.file_text(file_id).to_string(); + let mut actual = db.file_text(file_id).text(&db).to_string(); for (edit, snippet_edit) in source_change.source_file_edits.values() { edit.apply(&mut actual); @@ -128,7 +128,7 @@ pub(crate) fn check_has_fix( &db, &conf, &AssistResolveStrategy::All, - file_position.file_id.into(), + file_position.file_id.file_id(&db), ) .into_iter() .find(|d| { @@ -142,7 +142,7 @@ pub(crate) fn check_has_fix( let actual = { let source_change = fix.source_change.as_ref().unwrap(); let file_id = *source_change.source_file_edits.keys().next().unwrap(); - let mut actual = db.file_text(file_id).to_string(); + let mut actual = db.file_text(file_id).text(&db).to_string(); for (edit, snippet_edit) in source_change.source_file_edits.values() { edit.apply(&mut actual); @@ -175,7 +175,7 @@ pub(crate) fn check_has_single_fix( &db, &conf, &AssistResolveStrategy::All, - file_position.file_id.into(), + file_position.file_id.file_id(&db), ) .into_iter() .find(|d| { @@ -190,7 +190,7 @@ pub(crate) fn check_has_single_fix( let actual = { let source_change = fix.source_change.as_ref().unwrap(); let file_id = *source_change.source_file_edits.keys().next().unwrap(); - let mut actual = db.file_text(file_id).to_string(); + let mut actual = db.file_text(file_id).text(&db).to_string(); for (edit, snippet_edit) in source_change.source_file_edits.values() { edit.apply(&mut actual); @@ -216,7 +216,7 @@ pub(crate) fn check_no_fix(#[rust_analyzer::rust_fixture] ra_fixture: &str) { &db, &DiagnosticsConfig::test_sample(), &AssistResolveStrategy::All, - file_position.file_id.into(), + file_position.file_id.file_id(&db), ) .pop() .unwrap(); @@ -250,7 +250,7 @@ pub(crate) fn check_diagnostics_with_config( .iter() .copied() .flat_map(|file_id| { - super::full_diagnostics(&db, &config, &AssistResolveStrategy::All, file_id.into()) + super::full_diagnostics(&db, &config, &AssistResolveStrategy::All, file_id.file_id(&db)) .into_iter() .map(|d| { let mut annotation = String::new(); @@ -272,12 +272,13 @@ pub(crate) fn check_diagnostics_with_config( .map(|(diagnostic, annotation)| (diagnostic.file_id, (diagnostic.range, annotation))) .into_group_map(); for file_id in files { - let file_id = file_id.into(); + let file_id = file_id.file_id(&db); let line_index = db.line_index(file_id); let mut actual = annotations.remove(&file_id).unwrap_or_default(); - let expected = extract_annotations(&db.file_text(file_id)); - actual.sort_by_key(|(range, _)| range.start()); + let mut expected = extract_annotations(&db.file_text(file_id).text(&db)); + expected.sort_by_key(|(range, s)| (range.start(), s.clone())); + actual.sort_by_key(|(range, s)| (range.start(), s.clone())); // FIXME: We should panic on duplicates instead, but includes currently cause us to report // diagnostics twice for the calling module when both files are queried. actual.dedup(); @@ -289,7 +290,7 @@ pub(crate) fn check_diagnostics_with_config( for (e, _) in &actual { eprintln!( "Code in range {e:?} = {}", - &db.file_text(file_id)[usize::from(e.start())..usize::from(e.end())] + &db.file_text(file_id).text(&db)[usize::from(e.start())..usize::from(e.end())] ) } } @@ -316,7 +317,7 @@ fn test_disabled_diagnostics() { config.disabled.insert("E0583".into()); let (db, file_id) = RootDatabase::with_single_file(r#"mod foo;"#); - let file_id = file_id.into(); + let file_id = file_id.file_id(&db); let diagnostics = super::full_diagnostics(&db, &config, &AssistResolveStrategy::All, file_id); assert!(diagnostics.is_empty()); |