1 //! Each assist definition has a special comment, which specifies docs and
4 //! We collect all the example and write the as tests in this module.
9 use test_utils::{assert_eq_text, extract_range_or_offset};
11 use crate::resolved_assists;
13 fn check(assist_id: &str, before: &str, after: &str) {
14 let (selection, before) = extract_range_or_offset(before);
15 let (db, file_id) = crate::tests::with_single_file(&before);
16 let frange = FileRange { file_id, range: selection.into() };
18 let assist = resolved_assists(&db, frange)
20 .find(|assist| assist.label.id.0 == assist_id)
23 "\n\nAssist is not applicable: {}\nAvailable assists: {}",
25 resolved_assists(&db, frange)
27 .map(|assist| assist.label.id.0)
34 let mut actual = before.clone();
35 assist.action.edit.apply(&mut actual);
38 assert_eq_text!(after, &actual);