diff options
| author | bors[bot] <26634292+bors[bot]@users.noreply.github.com> | 2022-04-06 18:59:13 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-06 18:59:13 +0000 |
| commit | 5ac07a89efb0feeae656d0fa562a41c041add6e5 (patch) | |
| tree | 592c6e379947a7f7dedce815f53b2d37fe2fe750 | |
| parent | ec56c7ef975cee6fed8f28a0ddb668574e347bcc (diff) | |
| parent | 96b641e95e3b096129dda271a98dd5beb8ae0034 (diff) | |
| download | rust-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.rs | 104 |
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 +} + "#, ) } |
