Make more common assist easier to ues

This commit is contained in:
Aleksey Kladov 2021-02-22 15:18:11 +03:00
parent 14de9e54a6
commit 58be1edfbb
5 changed files with 89 additions and 43 deletions

View file

@ -67,7 +67,7 @@ use test_utils::{
use vfs::{file_set::FileSet, VfsPath};
use crate::{
input::CrateName, Change, CrateGraph, CrateId, Edition, Env, FileId, FilePosition,
input::CrateName, Change, CrateGraph, CrateId, Edition, Env, FileId, FilePosition, FileRange,
SourceDatabaseExt, SourceRoot, SourceRootId,
};
@ -99,6 +99,15 @@ pub trait WithFixture: Default + SourceDatabaseExt + 'static {
(db, FilePosition { file_id, offset })
}
fn with_range(ra_fixture: &str) -> (Self, FileRange) {
let (db, file_id, range_or_offset) = Self::with_range_or_offset(ra_fixture);
let range = match range_or_offset {
RangeOrOffset::Range(it) => it,
RangeOrOffset::Offset(_) => panic!(),
};
(db, FileRange { file_id, range })
}
fn with_range_or_offset(ra_fixture: &str) -> (Self, FileId, RangeOrOffset) {
let fixture = ChangeFixture::parse(ra_fixture);
let mut db = Self::default();