aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/nameres
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2019-02-11 09:53:10 +0000
committerAleksey Kladov <[email protected]>2019-02-11 09:53:10 +0000
commitdced2f4ed42b7013c761f2ed53c6c2482fa76169 (patch)
tree4eaf3d862a920b7e0f18733ee520cbb6719551c3 /crates/ra_hir/src/nameres
parent81852f6dd2c1bf86da440d9216959baa9a0a5ed2 (diff)
Handle SourceRoots automatically in fixtures
Diffstat (limited to 'crates/ra_hir/src/nameres')
-rw-r--r--crates/ra_hir/src/nameres/tests.rs48
1 files changed, 20 insertions, 28 deletions
diff --git a/crates/ra_hir/src/nameres/tests.rs b/crates/ra_hir/src/nameres/tests.rs
index 9c0e4ef29..905c3accf 100644
--- a/crates/ra_hir/src/nameres/tests.rs
+++ b/crates/ra_hir/src/nameres/tests.rs
@@ -1,7 +1,6 @@
1use std::sync::Arc; 1use std::sync::Arc;
2 2
3use ra_db::{CrateGraph, SourceRootId, SourceDatabase}; 3use ra_db::{CrateGraph, SourceDatabase};
4use relative_path::RelativePath;
5use test_utils::{assert_eq_text, covers}; 4use test_utils::{assert_eq_text, covers};
6 5
7use crate::{ 6use crate::{
@@ -252,7 +251,7 @@ fn glob_enum() {
252#[test] 251#[test]
253fn glob_across_crates() { 252fn glob_across_crates() {
254 covers!(glob_across_crates); 253 covers!(glob_across_crates);
255 let (mut db, sr) = MockDatabase::with_files( 254 let mut db = MockDatabase::with_files(
256 " 255 "
257 //- /main.rs 256 //- /main.rs
258 use test_crate::*; 257 use test_crate::*;
@@ -261,8 +260,8 @@ fn glob_across_crates() {
261 pub struct Baz; 260 pub struct Baz;
262 ", 261 ",
263 ); 262 );
264 let main_id = sr.files[RelativePath::new("/main.rs")]; 263 let main_id = db.file_id_of("/main.rs");
265 let lib_id = sr.files[RelativePath::new("/lib.rs")]; 264 let lib_id = db.file_id_of("/lib.rs");
266 265
267 let mut crate_graph = CrateGraph::default(); 266 let mut crate_graph = CrateGraph::default();
268 let main_crate = crate_graph.add_crate_root(main_id); 267 let main_crate = crate_graph.add_crate_root(main_id);
@@ -411,7 +410,7 @@ fn item_map_enum_importing() {
411 410
412#[test] 411#[test]
413fn item_map_across_crates() { 412fn item_map_across_crates() {
414 let (mut db, sr) = MockDatabase::with_files( 413 let mut db = MockDatabase::with_files(
415 " 414 "
416 //- /main.rs 415 //- /main.rs
417 use test_crate::Baz; 416 use test_crate::Baz;
@@ -420,8 +419,8 @@ fn item_map_across_crates() {
420 pub struct Baz; 419 pub struct Baz;
421 ", 420 ",
422 ); 421 );
423 let main_id = sr.files[RelativePath::new("/main.rs")]; 422 let main_id = db.file_id_of("/main.rs");
424 let lib_id = sr.files[RelativePath::new("/lib.rs")]; 423 let lib_id = db.file_id_of("/lib.rs");
425 424
426 let mut crate_graph = CrateGraph::default(); 425 let mut crate_graph = CrateGraph::default();
427 let main_crate = crate_graph.add_crate_root(main_id); 426 let main_crate = crate_graph.add_crate_root(main_id);
@@ -445,7 +444,7 @@ fn item_map_across_crates() {
445 444
446#[test] 445#[test]
447fn extern_crate_rename() { 446fn extern_crate_rename() {
448 let (mut db, sr) = MockDatabase::with_files( 447 let mut db = MockDatabase::with_files(
449 " 448 "
450 //- /main.rs 449 //- /main.rs
451 extern crate alloc as alloc_crate; 450 extern crate alloc as alloc_crate;
@@ -460,9 +459,9 @@ fn extern_crate_rename() {
460 struct Arc; 459 struct Arc;
461 ", 460 ",
462 ); 461 );
463 let main_id = sr.files[RelativePath::new("/main.rs")]; 462 let main_id = db.file_id_of("/main.rs");
464 let sync_id = sr.files[RelativePath::new("/sync.rs")]; 463 let sync_id = db.file_id_of("/sync.rs");
465 let lib_id = sr.files[RelativePath::new("/lib.rs")]; 464 let lib_id = db.file_id_of("/lib.rs");
466 465
467 let mut crate_graph = CrateGraph::default(); 466 let mut crate_graph = CrateGraph::default();
468 let main_crate = crate_graph.add_crate_root(main_id); 467 let main_crate = crate_graph.add_crate_root(main_id);
@@ -486,7 +485,7 @@ fn extern_crate_rename() {
486 485
487#[test] 486#[test]
488fn import_across_source_roots() { 487fn import_across_source_roots() {
489 let (mut db, sr) = MockDatabase::with_files( 488 let mut db = MockDatabase::with_files(
490 " 489 "
491 //- /lib.rs 490 //- /lib.rs
492 pub mod a { 491 pub mod a {
@@ -494,22 +493,15 @@ fn import_across_source_roots() {
494 pub struct C; 493 pub struct C;
495 } 494 }
496 } 495 }
497 ",
498 );
499 let lib_id = sr.files[RelativePath::new("/lib.rs")];
500 496
501 let source_root = SourceRootId(1); 497 //- root /test_crate/
502 498
503 let (sr2, pos) = db.add_fixture( 499 //- /test_crate/main.rs
504 source_root,
505 "
506 //- /main.rs
507 use test_crate::a::b::C; 500 use test_crate::a::b::C;
508 ", 501 ",
509 ); 502 );
510 assert!(pos.is_none()); 503 let lib_id = db.file_id_of("/lib.rs");
511 504 let main_id = db.file_id_of("/test_crate/main.rs");
512 let main_id = sr2.files[RelativePath::new("/main.rs")];
513 505
514 let mut crate_graph = CrateGraph::default(); 506 let mut crate_graph = CrateGraph::default();
515 let main_crate = crate_graph.add_crate_root(main_id); 507 let main_crate = crate_graph.add_crate_root(main_id);
@@ -533,7 +525,7 @@ fn import_across_source_roots() {
533 525
534#[test] 526#[test]
535fn reexport_across_crates() { 527fn reexport_across_crates() {
536 let (mut db, sr) = MockDatabase::with_files( 528 let mut db = MockDatabase::with_files(
537 " 529 "
538 //- /main.rs 530 //- /main.rs
539 use test_crate::Baz; 531 use test_crate::Baz;
@@ -547,8 +539,8 @@ fn reexport_across_crates() {
547 pub struct Baz; 539 pub struct Baz;
548 ", 540 ",
549 ); 541 );
550 let main_id = sr.files[RelativePath::new("/main.rs")]; 542 let main_id = db.file_id_of("/main.rs");
551 let lib_id = sr.files[RelativePath::new("/lib.rs")]; 543 let lib_id = db.file_id_of("/lib.rs");
552 544
553 let mut crate_graph = CrateGraph::default(); 545 let mut crate_graph = CrateGraph::default();
554 let main_crate = crate_graph.add_crate_root(main_id); 546 let main_crate = crate_graph.add_crate_root(main_id);