]> git.lizzy.rs Git - rust.git/blobdiff - crates/hir_def/src/nameres/tests.rs
Rename `CrateDefMap` to `DefMap`
[rust.git] / crates / hir_def / src / nameres / tests.rs
index b105d56b243bb7aa5b4e4c343a31e320c964f887..723481c367fc243caa9403f36f7c7f71289efcc7 100644 (file)
@@ -2,26 +2,26 @@
 mod incremental;
 mod macros;
 mod mod_resolution;
+mod diagnostics;
 mod primitives;
 
 use std::sync::Arc;
 
 use base_db::{fixture::WithFixture, SourceDatabase};
-use expect::{expect, Expect};
+use expect_test::{expect, Expect};
 use test_utils::mark;
 
 use crate::{db::DefDatabase, nameres::*, test_db::TestDB};
 
-fn compute_crate_def_map(fixture: &str) -> Arc<CrateDefMap> {
-    let db = TestDB::with_files(fixture);
+fn compute_crate_def_map(ra_fixture: &str) -> Arc<DefMap> {
+    let db = TestDB::with_files(ra_fixture);
     let krate = db.crate_graph().iter().next().unwrap();
     db.crate_def_map(krate)
 }
 
 fn check(ra_fixture: &str, expect: Expect) {
-    let db = TestDB::with_files(ra_fixture);
-    let krate = db.crate_graph().iter().next().unwrap();
-    let actual = db.crate_def_map(krate).dump();
+    let def_map = compute_crate_def_map(ra_fixture);
+    let actual = def_map.dump();
     expect.assert_eq(&actual);
 }
 
@@ -46,6 +46,7 @@ union U { to_be: bool, not_to_be: u8 }
 enum E { V }
 
 extern {
+    type Ext;
     static EXT: u8;
     fn ext();
 }
@@ -65,6 +66,7 @@ enum E { V }
             Baz: t v
             E: t
             EXT: v
+            Ext: t
             U: t
             ext: v
         "#]],
@@ -688,3 +690,20 @@ pub trait Tr {}
         "#]],
     );
 }
+
+#[test]
+fn cfg_the_entire_crate() {
+    check(
+        r#"
+//- /main.rs
+#![cfg(never)]
+
+pub struct S;
+pub enum E {}
+pub fn f() {}
+    "#,
+        expect![[r#"
+            crate
+        "#]],
+    );
+}