about summary refs log tree commit diff
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2022-04-06 18:59:13 +0000
committerGitHub <noreply@github.com>2022-04-06 18:59:13 +0000
commit5ac07a89efb0feeae656d0fa562a41c041add6e5 (patch)
tree592c6e379947a7f7dedce815f53b2d37fe2fe750
parentec56c7ef975cee6fed8f28a0ddb668574e347bcc (diff)
parent96b641e95e3b096129dda271a98dd5beb8ae0034 (diff)
downloadrust-5ac07a89efb0feeae656d0fa562a41c041add6e5.tar.gz
rust-5ac07a89efb0feeae656d0fa562a41c041add6e5.zip
Merge #11916
11916: internal: Add more doc-link tests r=Veykril a=Veykril

bors r+

Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
-rw-r--r--crates/ide/src/doc_links/tests.rs104
1 files changed, 94 insertions, 10 deletions
diff --git a/crates/ide/src/doc_links/tests.rs b/crates/ide/src/doc_links/tests.rs
index 477326c61fc..86fed390a8c 100644
--- a/crates/ide/src/doc_links/tests.rs
+++ b/crates/ide/src/doc_links/tests.rs
@@ -299,23 +299,107 @@ fn foo() {
 }
 
 #[test]
-fn test_trait_items() {
+fn doc_links_items_simple() {
+    check_doc_links(
+        r#"
+//- /main.rs crate:main deps:krate
+/// [`krate`]
+//! [`Trait`]
+//! [`function`]
+//! [`CONST`]
+//! [`STATIC`]
+//! [`Struct`]
+//! [`Enum`]
+//! [`Union`]
+//! [`Type`]
+//! [`module`]
+use self$0;
+
+const CONST: () = ();
+   // ^^^^^ CONST
+static STATIC: () = ();
+    // ^^^^^^ STATIC
+trait Trait {
+   // ^^^^^ Trait
+}
+fn function() {}
+// ^^^^^^^^ function
+struct Struct;
+    // ^^^^^^ Struct
+enum Enum {}
+  // ^^^^ Enum
+union Union {__: ()}
+   // ^^^^^ Union
+type Type = ();
+  // ^^^^ Type
+mod module {}
+ // ^^^^^^ module
+//- /krate.rs crate:krate
+// empty
+//^file krate
+"#,
+    )
+}
+
+#[test]
+fn doc_links_inherent_impl_items() {
+    check_doc_links(
+        r#"
+// /// [`Struct::CONST`]
+// /// [`Struct::function`]
+/// FIXME #9694
+struct Struct$0;
+
+impl Struct {
+    const CONST: () = ();
+    fn function() {}
+}
+"#,
+    )
+}
+
+#[test]
+fn doc_links_trait_impl_items() {
+    check_doc_links(
+        r#"
+trait Trait {
+    type Type;
+    const CONST: usize;
+    fn function();
+}
+// /// [`Struct::Type`]
+// /// [`Struct::CONST`]
+// /// [`Struct::function`]
+/// FIXME #9694
+struct Struct$0;
+
+impl Trait for Struct {
+    type Type = ();
+    const CONST: () = ();
+    fn function() {}
+}
+"#,
+    )
+}
+
+#[test]
+fn doc_links_trait_items() {
     check_doc_links(
         r#"
 /// [`Trait`]
 /// [`Trait::Type`]
 /// [`Trait::CONST`]
-/// [`Trait::func`]
+/// [`Trait::function`]
 trait Trait$0 {
    // ^^^^^ Trait
-    type Type;
-      // ^^^^ Trait::Type
-    const CONST: usize;
-       // ^^^^^ Trait::CONST
-    fn func();
-    // ^^^^ Trait::func
-}
-        "#,
+type Type;
+  // ^^^^ Trait::Type
+const CONST: usize;
+   // ^^^^^ Trait::CONST
+fn function();
+// ^^^^^^^^ Trait::function
+}
+    "#,
     )
 }