From 9de9ceb55138da485f465e7d5f6d23b73fda9528 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sun, 4 Oct 2026 22:04:59 +0200 Subject: [PATCH 1/2] Move more tests around in `rustdoc-html` --- tests/rustdoc-html/README.md | 5 +++++ .../decl-line-wrapping-empty-arg-list.decl.html | 0 .../{ => display}/decl-line-wrapping-empty-arg-list.rs | 0 .../{ => display}/decl-trailing-whitespace.declaration.html | 0 tests/rustdoc-html/{ => display}/decl-trailing-whitespace.rs | 0 .../extremely_long_typename.extremely_long_typename.html | 0 tests/rustdoc-html/{ => display}/extremely_long_typename.rs | 0 .../{ => display}/item-desc-list-at-start.item-table.html | 0 tests/rustdoc-html/{ => display}/item-desc-list-at-start.rs | 0 tests/rustdoc-html/{ => display}/where.SWhere_Echo_impl.html | 0 .../{ => display}/where.SWhere_Simd_item-decl.html | 0 .../{ => display}/where.SWhere_TraitWhere_item-decl.html | 0 tests/rustdoc-html/{ => display}/where.alpha_trait_decl.html | 0 tests/rustdoc-html/{ => display}/where.bravo_trait_decl.html | 0 tests/rustdoc-html/{ => display}/where.charlie_fn_decl.html | 0 .../{ => display}/where.golf_type_alias_decl.html | 0 tests/rustdoc-html/{ => display}/where.rs | 0 .../{ => display}/whitespace-after-where-clause.enum.html | 0 .../{ => display}/whitespace-after-where-clause.enum2.html | 0 .../{ => display}/whitespace-after-where-clause.rs | 0 .../{ => display}/whitespace-after-where-clause.struct.html | 0 .../{ => display}/whitespace-after-where-clause.struct2.html | 0 .../{ => display}/whitespace-after-where-clause.trait.html | 0 .../{ => display}/whitespace-after-where-clause.trait2.html | 0 .../{ => display}/whitespace-after-where-clause.union.html | 0 .../{ => display}/whitespace-after-where-clause.union2.html | 0 tests/rustdoc-html/{ => extern}/auxiliary/rustdoc-ffi.rs | 0 tests/rustdoc-html/{ => extern}/ffi.rs | 0 tests/rustdoc-html/{ => extern}/foreigntype.rs | 0 tests/rustdoc-html/{ => hidden}/doc-hidden-crate.rs | 0 tests/rustdoc-html/reexport/auxiliary/pub-extern-crate.rs | 2 ++ .../rustdoc-html/{ => reexport}/auxiliary/reexp-stripped.rs | 0 .../duplicate-reexports-section-150211.rs | 0 tests/rustdoc-html/{ => reexport}/hidden-methods.rs | 0 tests/rustdoc-html/{ => reexport}/redirect.rs | 0 tests/{rustdoc-html => rustdoc-ui/lints}/cap-lints.rs | 4 +++- 36 files changed, 10 insertions(+), 1 deletion(-) rename tests/rustdoc-html/{ => display}/decl-line-wrapping-empty-arg-list.decl.html (100%) rename tests/rustdoc-html/{ => display}/decl-line-wrapping-empty-arg-list.rs (100%) rename tests/rustdoc-html/{ => display}/decl-trailing-whitespace.declaration.html (100%) rename tests/rustdoc-html/{ => display}/decl-trailing-whitespace.rs (100%) rename tests/rustdoc-html/{ => display}/extremely_long_typename.extremely_long_typename.html (100%) rename tests/rustdoc-html/{ => display}/extremely_long_typename.rs (100%) rename tests/rustdoc-html/{ => display}/item-desc-list-at-start.item-table.html (100%) rename tests/rustdoc-html/{ => display}/item-desc-list-at-start.rs (100%) rename tests/rustdoc-html/{ => display}/where.SWhere_Echo_impl.html (100%) rename tests/rustdoc-html/{ => display}/where.SWhere_Simd_item-decl.html (100%) rename tests/rustdoc-html/{ => display}/where.SWhere_TraitWhere_item-decl.html (100%) rename tests/rustdoc-html/{ => display}/where.alpha_trait_decl.html (100%) rename tests/rustdoc-html/{ => display}/where.bravo_trait_decl.html (100%) rename tests/rustdoc-html/{ => display}/where.charlie_fn_decl.html (100%) rename tests/rustdoc-html/{ => display}/where.golf_type_alias_decl.html (100%) rename tests/rustdoc-html/{ => display}/where.rs (100%) rename tests/rustdoc-html/{ => display}/whitespace-after-where-clause.enum.html (100%) rename tests/rustdoc-html/{ => display}/whitespace-after-where-clause.enum2.html (100%) rename tests/rustdoc-html/{ => display}/whitespace-after-where-clause.rs (100%) rename tests/rustdoc-html/{ => display}/whitespace-after-where-clause.struct.html (100%) rename tests/rustdoc-html/{ => display}/whitespace-after-where-clause.struct2.html (100%) rename tests/rustdoc-html/{ => display}/whitespace-after-where-clause.trait.html (100%) rename tests/rustdoc-html/{ => display}/whitespace-after-where-clause.trait2.html (100%) rename tests/rustdoc-html/{ => display}/whitespace-after-where-clause.union.html (100%) rename tests/rustdoc-html/{ => display}/whitespace-after-where-clause.union2.html (100%) rename tests/rustdoc-html/{ => extern}/auxiliary/rustdoc-ffi.rs (100%) rename tests/rustdoc-html/{ => extern}/ffi.rs (100%) rename tests/rustdoc-html/{ => extern}/foreigntype.rs (100%) rename tests/rustdoc-html/{ => hidden}/doc-hidden-crate.rs (100%) create mode 100644 tests/rustdoc-html/reexport/auxiliary/pub-extern-crate.rs rename tests/rustdoc-html/{ => reexport}/auxiliary/reexp-stripped.rs (100%) rename tests/rustdoc-html/{extern => reexport}/duplicate-reexports-section-150211.rs (100%) rename tests/rustdoc-html/{ => reexport}/hidden-methods.rs (100%) rename tests/rustdoc-html/{ => reexport}/redirect.rs (100%) rename tests/{rustdoc-html => rustdoc-ui/lints}/cap-lints.rs (84%) diff --git a/tests/rustdoc-html/README.md b/tests/rustdoc-html/README.md index 4acb1d54bbb89..055c03b1eed35 100644 --- a/tests/rustdoc-html/README.md +++ b/tests/rustdoc-html/README.md @@ -48,6 +48,11 @@ conflicts, in particular for simpler crate names). Contains tests to check the display of items implementing the `Deref` and/or `DerefMut` traits. +## `tests/rustdoc-html/display` + +Contains tests checking how items are displayed in the docs. Ensuring that methods with a lot +of arguments or with a lot of generics are correctly split between multiple lines for example. + ## `tests/rustdoc-html/doc-cfg` Contains tests to check the rustdoc `doc_cfg` feature. diff --git a/tests/rustdoc-html/decl-line-wrapping-empty-arg-list.decl.html b/tests/rustdoc-html/display/decl-line-wrapping-empty-arg-list.decl.html similarity index 100% rename from tests/rustdoc-html/decl-line-wrapping-empty-arg-list.decl.html rename to tests/rustdoc-html/display/decl-line-wrapping-empty-arg-list.decl.html diff --git a/tests/rustdoc-html/decl-line-wrapping-empty-arg-list.rs b/tests/rustdoc-html/display/decl-line-wrapping-empty-arg-list.rs similarity index 100% rename from tests/rustdoc-html/decl-line-wrapping-empty-arg-list.rs rename to tests/rustdoc-html/display/decl-line-wrapping-empty-arg-list.rs diff --git a/tests/rustdoc-html/decl-trailing-whitespace.declaration.html b/tests/rustdoc-html/display/decl-trailing-whitespace.declaration.html similarity index 100% rename from tests/rustdoc-html/decl-trailing-whitespace.declaration.html rename to tests/rustdoc-html/display/decl-trailing-whitespace.declaration.html diff --git a/tests/rustdoc-html/decl-trailing-whitespace.rs b/tests/rustdoc-html/display/decl-trailing-whitespace.rs similarity index 100% rename from tests/rustdoc-html/decl-trailing-whitespace.rs rename to tests/rustdoc-html/display/decl-trailing-whitespace.rs diff --git a/tests/rustdoc-html/extremely_long_typename.extremely_long_typename.html b/tests/rustdoc-html/display/extremely_long_typename.extremely_long_typename.html similarity index 100% rename from tests/rustdoc-html/extremely_long_typename.extremely_long_typename.html rename to tests/rustdoc-html/display/extremely_long_typename.extremely_long_typename.html diff --git a/tests/rustdoc-html/extremely_long_typename.rs b/tests/rustdoc-html/display/extremely_long_typename.rs similarity index 100% rename from tests/rustdoc-html/extremely_long_typename.rs rename to tests/rustdoc-html/display/extremely_long_typename.rs diff --git a/tests/rustdoc-html/item-desc-list-at-start.item-table.html b/tests/rustdoc-html/display/item-desc-list-at-start.item-table.html similarity index 100% rename from tests/rustdoc-html/item-desc-list-at-start.item-table.html rename to tests/rustdoc-html/display/item-desc-list-at-start.item-table.html diff --git a/tests/rustdoc-html/item-desc-list-at-start.rs b/tests/rustdoc-html/display/item-desc-list-at-start.rs similarity index 100% rename from tests/rustdoc-html/item-desc-list-at-start.rs rename to tests/rustdoc-html/display/item-desc-list-at-start.rs diff --git a/tests/rustdoc-html/where.SWhere_Echo_impl.html b/tests/rustdoc-html/display/where.SWhere_Echo_impl.html similarity index 100% rename from tests/rustdoc-html/where.SWhere_Echo_impl.html rename to tests/rustdoc-html/display/where.SWhere_Echo_impl.html diff --git a/tests/rustdoc-html/where.SWhere_Simd_item-decl.html b/tests/rustdoc-html/display/where.SWhere_Simd_item-decl.html similarity index 100% rename from tests/rustdoc-html/where.SWhere_Simd_item-decl.html rename to tests/rustdoc-html/display/where.SWhere_Simd_item-decl.html diff --git a/tests/rustdoc-html/where.SWhere_TraitWhere_item-decl.html b/tests/rustdoc-html/display/where.SWhere_TraitWhere_item-decl.html similarity index 100% rename from tests/rustdoc-html/where.SWhere_TraitWhere_item-decl.html rename to tests/rustdoc-html/display/where.SWhere_TraitWhere_item-decl.html diff --git a/tests/rustdoc-html/where.alpha_trait_decl.html b/tests/rustdoc-html/display/where.alpha_trait_decl.html similarity index 100% rename from tests/rustdoc-html/where.alpha_trait_decl.html rename to tests/rustdoc-html/display/where.alpha_trait_decl.html diff --git a/tests/rustdoc-html/where.bravo_trait_decl.html b/tests/rustdoc-html/display/where.bravo_trait_decl.html similarity index 100% rename from tests/rustdoc-html/where.bravo_trait_decl.html rename to tests/rustdoc-html/display/where.bravo_trait_decl.html diff --git a/tests/rustdoc-html/where.charlie_fn_decl.html b/tests/rustdoc-html/display/where.charlie_fn_decl.html similarity index 100% rename from tests/rustdoc-html/where.charlie_fn_decl.html rename to tests/rustdoc-html/display/where.charlie_fn_decl.html diff --git a/tests/rustdoc-html/where.golf_type_alias_decl.html b/tests/rustdoc-html/display/where.golf_type_alias_decl.html similarity index 100% rename from tests/rustdoc-html/where.golf_type_alias_decl.html rename to tests/rustdoc-html/display/where.golf_type_alias_decl.html diff --git a/tests/rustdoc-html/where.rs b/tests/rustdoc-html/display/where.rs similarity index 100% rename from tests/rustdoc-html/where.rs rename to tests/rustdoc-html/display/where.rs diff --git a/tests/rustdoc-html/whitespace-after-where-clause.enum.html b/tests/rustdoc-html/display/whitespace-after-where-clause.enum.html similarity index 100% rename from tests/rustdoc-html/whitespace-after-where-clause.enum.html rename to tests/rustdoc-html/display/whitespace-after-where-clause.enum.html diff --git a/tests/rustdoc-html/whitespace-after-where-clause.enum2.html b/tests/rustdoc-html/display/whitespace-after-where-clause.enum2.html similarity index 100% rename from tests/rustdoc-html/whitespace-after-where-clause.enum2.html rename to tests/rustdoc-html/display/whitespace-after-where-clause.enum2.html diff --git a/tests/rustdoc-html/whitespace-after-where-clause.rs b/tests/rustdoc-html/display/whitespace-after-where-clause.rs similarity index 100% rename from tests/rustdoc-html/whitespace-after-where-clause.rs rename to tests/rustdoc-html/display/whitespace-after-where-clause.rs diff --git a/tests/rustdoc-html/whitespace-after-where-clause.struct.html b/tests/rustdoc-html/display/whitespace-after-where-clause.struct.html similarity index 100% rename from tests/rustdoc-html/whitespace-after-where-clause.struct.html rename to tests/rustdoc-html/display/whitespace-after-where-clause.struct.html diff --git a/tests/rustdoc-html/whitespace-after-where-clause.struct2.html b/tests/rustdoc-html/display/whitespace-after-where-clause.struct2.html similarity index 100% rename from tests/rustdoc-html/whitespace-after-where-clause.struct2.html rename to tests/rustdoc-html/display/whitespace-after-where-clause.struct2.html diff --git a/tests/rustdoc-html/whitespace-after-where-clause.trait.html b/tests/rustdoc-html/display/whitespace-after-where-clause.trait.html similarity index 100% rename from tests/rustdoc-html/whitespace-after-where-clause.trait.html rename to tests/rustdoc-html/display/whitespace-after-where-clause.trait.html diff --git a/tests/rustdoc-html/whitespace-after-where-clause.trait2.html b/tests/rustdoc-html/display/whitespace-after-where-clause.trait2.html similarity index 100% rename from tests/rustdoc-html/whitespace-after-where-clause.trait2.html rename to tests/rustdoc-html/display/whitespace-after-where-clause.trait2.html diff --git a/tests/rustdoc-html/whitespace-after-where-clause.union.html b/tests/rustdoc-html/display/whitespace-after-where-clause.union.html similarity index 100% rename from tests/rustdoc-html/whitespace-after-where-clause.union.html rename to tests/rustdoc-html/display/whitespace-after-where-clause.union.html diff --git a/tests/rustdoc-html/whitespace-after-where-clause.union2.html b/tests/rustdoc-html/display/whitespace-after-where-clause.union2.html similarity index 100% rename from tests/rustdoc-html/whitespace-after-where-clause.union2.html rename to tests/rustdoc-html/display/whitespace-after-where-clause.union2.html diff --git a/tests/rustdoc-html/auxiliary/rustdoc-ffi.rs b/tests/rustdoc-html/extern/auxiliary/rustdoc-ffi.rs similarity index 100% rename from tests/rustdoc-html/auxiliary/rustdoc-ffi.rs rename to tests/rustdoc-html/extern/auxiliary/rustdoc-ffi.rs diff --git a/tests/rustdoc-html/ffi.rs b/tests/rustdoc-html/extern/ffi.rs similarity index 100% rename from tests/rustdoc-html/ffi.rs rename to tests/rustdoc-html/extern/ffi.rs diff --git a/tests/rustdoc-html/foreigntype.rs b/tests/rustdoc-html/extern/foreigntype.rs similarity index 100% rename from tests/rustdoc-html/foreigntype.rs rename to tests/rustdoc-html/extern/foreigntype.rs diff --git a/tests/rustdoc-html/doc-hidden-crate.rs b/tests/rustdoc-html/hidden/doc-hidden-crate.rs similarity index 100% rename from tests/rustdoc-html/doc-hidden-crate.rs rename to tests/rustdoc-html/hidden/doc-hidden-crate.rs diff --git a/tests/rustdoc-html/reexport/auxiliary/pub-extern-crate.rs b/tests/rustdoc-html/reexport/auxiliary/pub-extern-crate.rs new file mode 100644 index 0000000000000..8c89c8d6c76c5 --- /dev/null +++ b/tests/rustdoc-html/reexport/auxiliary/pub-extern-crate.rs @@ -0,0 +1,2 @@ +#![crate_name = "inner"] +pub struct SomeStruct; diff --git a/tests/rustdoc-html/auxiliary/reexp-stripped.rs b/tests/rustdoc-html/reexport/auxiliary/reexp-stripped.rs similarity index 100% rename from tests/rustdoc-html/auxiliary/reexp-stripped.rs rename to tests/rustdoc-html/reexport/auxiliary/reexp-stripped.rs diff --git a/tests/rustdoc-html/extern/duplicate-reexports-section-150211.rs b/tests/rustdoc-html/reexport/duplicate-reexports-section-150211.rs similarity index 100% rename from tests/rustdoc-html/extern/duplicate-reexports-section-150211.rs rename to tests/rustdoc-html/reexport/duplicate-reexports-section-150211.rs diff --git a/tests/rustdoc-html/hidden-methods.rs b/tests/rustdoc-html/reexport/hidden-methods.rs similarity index 100% rename from tests/rustdoc-html/hidden-methods.rs rename to tests/rustdoc-html/reexport/hidden-methods.rs diff --git a/tests/rustdoc-html/redirect.rs b/tests/rustdoc-html/reexport/redirect.rs similarity index 100% rename from tests/rustdoc-html/redirect.rs rename to tests/rustdoc-html/reexport/redirect.rs diff --git a/tests/rustdoc-html/cap-lints.rs b/tests/rustdoc-ui/lints/cap-lints.rs similarity index 84% rename from tests/rustdoc-html/cap-lints.rs rename to tests/rustdoc-ui/lints/cap-lints.rs index 30f9be0424c6a..692a63f2f7332 100644 --- a/tests/rustdoc-html/cap-lints.rs +++ b/tests/rustdoc-ui/lints/cap-lints.rs @@ -1,9 +1,11 @@ // This should fail a normal compile due to non_camel_case_types, // It should pass a doc-compile as it only needs to type-check and // therefore should not concern itself with the lints. + +//@ check-pass + #[deny(warnings)] -//@ has cap_lints/struct.Foo.html //* 'Foo' pub struct Foo { field: i32, } From 78aa1c866b14f20c334fd3b18818b775779c0a7a Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sun, 4 Oct 2026 22:11:50 +0200 Subject: [PATCH 2/2] Replace some `!has` checks in `rustdoc-html` test --- tests/rustdoc-html/reexport/hidden-methods.rs | 23 ++++++++++++++----- 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/tests/rustdoc-html/reexport/hidden-methods.rs b/tests/rustdoc-html/reexport/hidden-methods.rs index ed9c1ee1aac29..4be81da1cf775 100644 --- a/tests/rustdoc-html/reexport/hidden-methods.rs +++ b/tests/rustdoc-html/reexport/hidden-methods.rs @@ -17,13 +17,24 @@ pub mod hidden { } //@ has foo/struct.Foo.html -//@ !hasraw - 'Methods' -//@ !has - '//code' 'impl Foo' -//@ !hasraw - 'this_should_be_hidden' +// Only `not_hidden` should be present. +//@ count - '//*[@id="implementations-list"]//*[@class="method"]' 1 +//@ has - '//*[@id="implementations-list"]//*[@class="method"]' 'pub fn not_hidden' +//@ count - '//*[@id="rustdoc-toc"]/*[@class="block method"]//a' 1 +//@ has - '//*[@id="rustdoc-toc"]/*[@class="block method"]//a' 'not_hidden' pub use hidden::Foo; +impl Foo { + pub fn not_hidden() {} +} + //@ has foo/struct.Bar.html -//@ !hasraw - 'Methods' -//@ !has - '//code' 'impl Bar' -//@ !hasraw - 'this_should_be_hidden' +//@ count - '//*[@id="implementations-list"]//*[@class="method"]' 1 +//@ has - '//*[@id="implementations-list"]//*[@class="method"]' 'pub fn not_hidden' +//@ count - '//*[@id="rustdoc-toc"]/*[@class="block method"]//a' 1 +//@ has - '//*[@id="rustdoc-toc"]/*[@class="block method"]//a' 'not_hidden' pub use hidden::Bar; + +impl Bar { + pub fn not_hidden() {} +}