Fix tests

This commit is contained in:
Aleksey Kladov 2020-05-24 15:47:05 +02:00
parent 733956617e
commit d1ff0145a9

View File

@ -70,10 +70,10 @@ fn runnable_fn(
let kind = if name_string == "main" { let kind = if name_string == "main" {
RunnableKind::Bin RunnableKind::Bin
} else { } else {
let test_id = if let Some(module) = sema.to_def(&fn_def).map(|def| def.module(sema.db)) { let test_id = match sema.to_def(&fn_def).map(|def| def.module(sema.db)) {
let def = sema.to_def(&fn_def)?; Some(module) => {
let impl_trait_name = let def = sema.to_def(&fn_def)?;
def.as_assoc_item(sema.db).and_then(|assoc_item| { let impl_trait_name = def.as_assoc_item(sema.db).and_then(|assoc_item| {
match assoc_item.container(sema.db) { match assoc_item.container(sema.db) {
hir::AssocItemContainer::Trait(trait_item) => { hir::AssocItemContainer::Trait(trait_item) => {
Some(trait_item.name(sema.db).to_string()) Some(trait_item.name(sema.db).to_string())
@ -85,25 +85,25 @@ fn runnable_fn(
} }
}); });
let path_iter = module let path_iter = module
.path_to_root(sema.db) .path_to_root(sema.db)
.into_iter() .into_iter()
.rev() .rev()
.filter_map(|it| it.name(sema.db)) .filter_map(|it| it.name(sema.db))
.map(|name| name.to_string()); .map(|name| name.to_string());
let path = if let Some(impl_trait_name) = impl_trait_name { let path = if let Some(impl_trait_name) = impl_trait_name {
path_iter path_iter
.chain(std::iter::once(impl_trait_name)) .chain(std::iter::once(impl_trait_name))
.chain(std::iter::once(name_string)) .chain(std::iter::once(name_string))
.join("::") .join("::")
} else { } else {
path_iter.chain(std::iter::once(name_string)).join("::") path_iter.chain(std::iter::once(name_string)).join("::")
}; };
TestId::Path(path) TestId::Path(path)
} else { }
TestId::Name(name_string) None => TestId::Name(name_string),
}; };
if has_test_related_attribute(&fn_def) { if has_test_related_attribute(&fn_def) {
@ -472,7 +472,7 @@ mod tests {
Runnable { Runnable {
range: 1..58, range: 1..58,
kind: Test { kind: Test {
test_id: Name( test_id: Path(
"test_foo1", "test_foo1",
), ),
attr: TestAttr { attr: TestAttr {
@ -509,7 +509,7 @@ mod tests {
Runnable { Runnable {
range: 1..80, range: 1..80,
kind: Test { kind: Test {
test_id: Name( test_id: Path(
"test_foo1", "test_foo1",
), ),
attr: TestAttr { attr: TestAttr {