aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/nameres/tests.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/nameres/tests.rs')
-rw-r--r--crates/ra_hir/src/nameres/tests.rs45
1 files changed, 45 insertions, 0 deletions
diff --git a/crates/ra_hir/src/nameres/tests.rs b/crates/ra_hir/src/nameres/tests.rs
index 68ebe963a..bee475c3a 100644
--- a/crates/ra_hir/src/nameres/tests.rs
+++ b/crates/ra_hir/src/nameres/tests.rs
@@ -266,6 +266,51 @@ fn glob_across_crates() {
266} 266}
267 267
268#[test] 268#[test]
269fn edition_2015_imports() {
270 use ra_db::{CrateGraph, Edition};
271 let mut db = MockDatabase::with_files(
272 "
273 //- /main.rs
274 mod foo;
275 mod bar;
276
277 //- /bar.rs
278 struct Bar;
279
280 //- /foo.rs
281 use bar::Bar;
282 use other_crate::FromLib;
283
284 //- /lib.rs
285 struct FromLib;
286 ",
287 );
288 let main_id = db.file_id_of("/main.rs");
289 let lib_id = db.file_id_of("/lib.rs");
290 let foo_id = db.file_id_of("/foo.rs");
291
292 let mut crate_graph = CrateGraph::default();
293 let main_crate = crate_graph.add_crate_root(main_id, Edition::Edition2015);
294 let lib_crate = crate_graph.add_crate_root(lib_id, Edition::Edition2018);
295 crate_graph.add_dep(main_crate, "other_crate".into(), lib_crate).unwrap();
296
297 db.set_crate_graph(Arc::new(crate_graph));
298
299 let module = crate::source_binder::module_from_file_id(&db, foo_id).unwrap();
300 let krate = module.krate(&db).unwrap();
301 let item_map = db.item_map(krate);
302
303 check_module_item_map(
304 &item_map,
305 module.module_id,
306 "
307 Bar: t v
308 FromLib: t v
309 ",
310 );
311}
312
313#[test]
269fn module_resolution_works_for_non_standard_filenames() { 314fn module_resolution_works_for_non_standard_filenames() {
270 let mut db = MockDatabase::with_files( 315 let mut db = MockDatabase::with_files(
271 " 316 "