| #![warn(clippy::doc_broken_link)] |
| |
| fn main() {} |
| |
| pub struct FakeType {} |
| |
| /// This might be considered a link false positive |
| /// and should be ignored by this lint rule: |
| /// Example of referencing some code with brackets [FakeType]. |
| pub fn doc_ignore_link_false_positive_1() {} |
| |
| /// This might be considered a link false positive |
| /// and should be ignored by this lint rule: |
| /// [`FakeType`]. Continue text after brackets, |
| /// then (something in |
| /// parenthesis). |
| pub fn doc_ignore_link_false_positive_2() {} |
| |
| /// Test valid link, whole link single line. |
| /// [doc valid link](https://test.fake/doc_valid_link) |
| pub fn doc_valid_link() {} |
| |
| /// Test valid link, whole link single line but it has special chars such as brackets and |
| /// parenthesis. [doc invalid link url invalid char](https://test.fake/doc_valid_link_url_invalid_char?foo[bar]=1&bar(foo)=2) |
| pub fn doc_valid_link_url_invalid_char() {} |
| |
| /// Test valid link, text tag broken across multiple lines. |
| /// [doc valid link broken |
| /// text](https://test.fake/doc_valid_link_broken_text) |
| pub fn doc_valid_link_broken_text() {} |
| |
| /// Test valid link, url tag broken across multiple lines, but |
| /// the whole url part in a single line. |
| /// [doc valid link broken url tag two lines first](https://test.fake/doc_valid_link_broken_url_tag_two_lines_first |
| /// ) |
| pub fn doc_valid_link_broken_url_tag_two_lines_first() {} |
| |
| /// Test valid link, url tag broken across multiple lines, but |
| /// the whole url part in a single line. |
| /// [doc valid link broken url tag two lines second]( |
| /// https://test.fake/doc_valid_link_broken_url_tag_two_lines_second) |
| pub fn doc_valid_link_broken_url_tag_two_lines_second() {} |
| |
| /// Test valid link, url tag broken across multiple lines, but |
| /// the whole url part in a single line, but the closing pharentesis |
| /// in a third line. |
| /// [doc valid link broken url tag three lines]( |
| /// https://test.fake/doc_valid_link_broken_url_tag_three_lines |
| /// ) |
| pub fn doc_valid_link_broken_url_tag_three_lines() {} |
| |
| /// Test invalid link, url part broken across multiple lines. |
| /// [doc invalid link broken url scheme part](https:// |
| /// test.fake/doc_invalid_link_broken_url_scheme_part) |
| //~^^ ERROR: possible broken doc link: broken across multiple lines |
| pub fn doc_invalid_link_broken_url_scheme_part() {} |
| |
| /// Test invalid link, url part broken across multiple lines. |
| /// [doc invalid link broken url host part](https://test |
| /// .fake/doc_invalid_link_broken_url_host_part) |
| //~^^ ERROR: possible broken doc link: broken across multiple lines |
| pub fn doc_invalid_link_broken_url_host_part() {} |
| |
| /// Test invalid link, for multiple urls in the same block of comment. |
| /// There is a [fist link - invalid](https://test |
| /// .fake) then it continues |
| //~^^ ERROR: possible broken doc link: broken across multiple lines |
| /// with a [second link - valid](https://test.fake/doc_valid_link) and another [third link - invalid](https://test |
| /// .fake). It ends with another |
| //~^^ ERROR: possible broken doc link: broken across multiple lines |
| /// line of comment. |
| pub fn doc_multiple_invalid_link_broken_url() {} |