From 2ac20b05f18895654ced1d243e99092441a94f86 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 9 Feb 2021 18:13:11 +0300 Subject: Cleanup tests --- crates/ide/src/parent_module.rs | 80 +++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 44 deletions(-) (limited to 'crates/ide/src/parent_module.rs') diff --git a/crates/ide/src/parent_module.rs b/crates/ide/src/parent_module.rs index d343638fb..e5515ef2c 100644 --- a/crates/ide/src/parent_module.rs +++ b/crates/ide/src/parent_module.rs @@ -63,69 +63,61 @@ pub(crate) fn crate_for(db: &RootDatabase, file_id: FileId) -> Vec { #[cfg(test)] mod tests { + use ide_db::base_db::FileRange; use test_utils::mark; - use crate::fixture::{self}; + use crate::fixture; + + fn check(ra_fixture: &str) { + let (analysis, position, expected) = fixture::nav_target_annotation(ra_fixture); + let mut navs = analysis.parent_module(position).unwrap(); + assert_eq!(navs.len(), 1); + let nav = navs.pop().unwrap(); + assert_eq!(expected, FileRange { file_id: nav.file_id, range: nav.focus_or_full_range() }); + } #[test] fn test_resolve_parent_module() { - let (analysis, pos) = fixture::position( - " - //- /lib.rs - mod foo; - //- /foo.rs - $0// empty - ", + check( + r#" +//- /lib.rs + mod foo; +//^^^^^^^^ + +//- /foo.rs +$0// empty +"#, ); - let nav = analysis.parent_module(pos).unwrap().pop().unwrap(); - nav.assert_match("foo Module FileId(0) 0..8"); } #[test] fn test_resolve_parent_module_on_module_decl() { mark::check!(test_resolve_parent_module_on_module_decl); - let (analysis, pos) = fixture::position( - " - //- /lib.rs - mod foo; - - //- /foo.rs - mod $0bar; + check( + r#" +//- /lib.rs + mod foo; +//^^^^^^^^ +//- /foo.rs +mod $0bar; - //- /foo/bar.rs - // empty - ", +//- /foo/bar.rs +// empty +"#, ); - let nav = analysis.parent_module(pos).unwrap().pop().unwrap(); - nav.assert_match("foo Module FileId(0) 0..8"); } #[test] fn test_resolve_parent_module_for_inline() { - let (analysis, pos) = fixture::position( - " - //- /lib.rs - mod foo { - mod bar { - mod baz { $0 } - } - } - ", - ); - let nav = analysis.parent_module(pos).unwrap().pop().unwrap(); - nav.assert_match("baz Module FileId(0) 32..44"); - } - - #[test] - fn test_resolve_crate_root() { - let (analysis, file_id) = fixture::file( + check( r#" -//- /main.rs -mod foo; -//- /foo.rs -$0 +//- /lib.rs +mod foo { + mod bar { + mod baz { $0 } + } //^^^^^^^^^^^^ +} "#, ); - assert_eq!(analysis.crate_for(file_id).unwrap().len(), 1); } } -- cgit v1.2.3