aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir')
-rw-r--r--crates/ra_hir/src/nameres/tests.rs42
1 files changed, 42 insertions, 0 deletions
diff --git a/crates/ra_hir/src/nameres/tests.rs b/crates/ra_hir/src/nameres/tests.rs
index 81c8a4f12..42c59f76f 100644
--- a/crates/ra_hir/src/nameres/tests.rs
+++ b/crates/ra_hir/src/nameres/tests.rs
@@ -335,6 +335,48 @@ fn item_map_across_crates() {
335} 335}
336 336
337#[test] 337#[test]
338fn extern_crate_rename() {
339 let (mut db, sr) = MockDatabase::with_files(
340 "
341 //- /main.rs
342 extern crate alloc as alloc_crate;
343
344 mod alloc;
345
346 use alloc_crate::Arc;
347
348 //- /lib.rs
349 struct Arc;
350 ",
351 );
352 let main_id = sr.files[RelativePath::new("/main.rs")];
353 let lib_id = sr.files[RelativePath::new("/lib.rs")];
354
355 let mut crate_graph = CrateGraph::default();
356 let main_crate = crate_graph.add_crate_root(main_id);
357 let lib_crate = crate_graph.add_crate_root(lib_id);
358 crate_graph
359 .add_dep(main_crate, "alloc".into(), lib_crate)
360 .unwrap();
361
362 db.set_crate_graph(Arc::new(crate_graph));
363
364 let module = crate::source_binder::module_from_file_id(&db, main_id).unwrap();
365 let krate = module.krate(&db).unwrap();
366 let item_map = db.item_map(krate);
367
368 check_module_item_map(
369 &item_map,
370 module.module_id,
371 "
372 Arc: t v
373 alloc: t
374 alloc_crate: t
375 ",
376 );
377}
378
379#[test]
338fn import_across_source_roots() { 380fn import_across_source_roots() {
339 let (mut db, sr) = MockDatabase::with_files( 381 let (mut db, sr) = MockDatabase::with_files(
340 " 382 "