From dfd79907b80e1a93b93e99aaf4d7af2a84c1c59f Mon Sep 17 00:00:00 2001 From: Paul Daniel Faria Date: Wed, 24 Jun 2020 08:20:41 -0400 Subject: Use a macro in push_res to simplify code, simplify glob_shadowed_def assertion --- crates/ra_hir_def/src/nameres/tests/globs.rs | 155 +++++---------------------- 1 file changed, 28 insertions(+), 127 deletions(-) (limited to 'crates/ra_hir_def/src/nameres/tests/globs.rs') diff --git a/crates/ra_hir_def/src/nameres/tests/globs.rs b/crates/ra_hir_def/src/nameres/tests/globs.rs index f0d85d301..f117b0362 100644 --- a/crates/ra_hir_def/src/nameres/tests/globs.rs +++ b/crates/ra_hir_def/src/nameres/tests/globs.rs @@ -232,146 +232,47 @@ fn glob_enum_group() { #[test] fn glob_shadowed_def() { - let db = TestDB::with_files( + mark::check!(import_shadowed); + let map = def_map( r###" //- /lib.rs mod foo; mod bar; use foo::*; - use bar::Baz; + use bar::baz; + + use baz::Bar; //- /foo.rs - pub struct Baz; + pub mod baz { + pub struct Foo; + } //- /bar.rs - pub struct Baz; + pub mod baz { + pub struct Bar; + } "###, ); - let krate = db.test_crate(); + assert_snapshot!(map, @r###" + crate + Bar: t v + bar: t + baz: t + foo: t + + crate::bar + baz: t + + crate::bar::baz + Bar: t v + + crate::foo + baz: t - let crate_def_map = db.crate_def_map(krate); - let (_, root_module) = crate_def_map - .modules - .iter() - .find(|(_, module_data)| module_data.parent.is_none()) - .expect("Root module not found"); - let visible_entries = root_module.scope.entries().collect::>(); - insta::assert_debug_snapshot!( - visible_entries, - @r###" - [ - ( - Name( - Text( - "Baz", - ), - ), - PerNs { - types: Some( - ( - AdtId( - StructId( - StructId( - 1, - ), - ), - ), - Module( - ModuleId { - krate: CrateId( - 0, - ), - local_id: Idx::(0), - }, - ), - ), - ), - values: Some( - ( - AdtId( - StructId( - StructId( - 1, - ), - ), - ), - Module( - ModuleId { - krate: CrateId( - 0, - ), - local_id: Idx::(0), - }, - ), - ), - ), - macros: None, - }, - ), - ( - Name( - Text( - "bar", - ), - ), - PerNs { - types: Some( - ( - ModuleId( - ModuleId { - krate: CrateId( - 0, - ), - local_id: Idx::(2), - }, - ), - Module( - ModuleId { - krate: CrateId( - 0, - ), - local_id: Idx::(0), - }, - ), - ), - ), - values: None, - macros: None, - }, - ), - ( - Name( - Text( - "foo", - ), - ), - PerNs { - types: Some( - ( - ModuleId( - ModuleId { - krate: CrateId( - 0, - ), - local_id: Idx::(1), - }, - ), - Module( - ModuleId { - krate: CrateId( - 0, - ), - local_id: Idx::(0), - }, - ), - ), - ), - values: None, - macros: None, - }, - ), - ] + crate::foo::baz + Foo: t v "### ); } -- cgit v1.2.3