]> git.lizzy.rs Git - rust.git/commitdiff
Add a dash test
authorKirill Bulatov <mail4score@gmail.com>
Fri, 2 Oct 2020 17:59:32 +0000 (20:59 +0300)
committerKirill Bulatov <mail4score@gmail.com>
Fri, 2 Oct 2020 17:59:32 +0000 (20:59 +0300)
crates/base_db/src/fixture.rs
crates/ide/src/hover.rs

index b7286fc7d03d4e52a0a46e25937f192240b57ba5..31560bc097fa8cb064c2697179d6fcf14003f2fc 100644 (file)
@@ -162,11 +162,11 @@ pub fn parse(ra_fixture: &str) -> ChangeFixture {
                     meta.env,
                     Default::default(),
                 );
-                let crate_name = CrateName::new(&krate).unwrap();
+                let crate_name = CrateName::normalize_dashes(&krate);
                 let prev = crates.insert(crate_name.clone(), crate_id);
                 assert!(prev.is_none());
                 for dep in meta.deps {
-                    let dep = CrateName::new(&dep).unwrap();
+                    let dep = CrateName::normalize_dashes(&dep);
                     crate_deps.push((crate_name.clone(), dep))
                 }
             } else if meta.path == "/main.rs" || meta.path == "/lib.rs" {
index 9cf02f0a32fe829b5734a529f08a0379913ee0ef..acdb51f2616a716ca4cd5dc38bf5b8e012811d3a 100644 (file)
@@ -3163,4 +3163,34 @@ fn test() -> impl Foo { S {} }
             "#]],
         );
     }
+
+    #[test]
+    fn hover_displays_normalized_crate_names() {
+        check(
+            r#"
+//- /lib.rs crate:name-with-dashes
+pub mod wrapper {
+    pub struct Thing { x: u32 }
+
+    impl Thing {
+        pub fn new() -> Thing { Thing { x: 0 } }
+    }
+}
+
+//- /main.rs crate:main deps:name-with-dashes
+fn main() { let foo_test = name_with_dashes::wrapper::Thing::new<|>(); }
+"#,
+            expect![[r#"
+            *new*
+
+            ```rust
+            name_with_dashes::wrapper::Thing
+            ```
+
+            ```rust
+            pub fn new() -> Thing
+            ```
+            "#]],
+        )
+    }
 }