Rollup merge of #95684 - GuillaumeGomez:fix-item-info-overflow, r=notriddle

rustdoc: Fix item info display overflow

I came across this issue when reading local `Iterator` docs (reproduced in this screenshot):

![Screenshot from 2022-04-05 17-45-13](https://user-images.githubusercontent.com/3050060/161798150-769ee838-4768-4df8-9d34-b02eb8104eed.png)

The problem comes from the fact that `span` isn't `display: block` by default. Since `item-info` was already present on `<div>` in other places, I moved the last one to `div` as well.

r? `@notriddle`
This commit is contained in:
Dylan DPC 2022-04-06 03:39:08 +02:00 committed by GitHub
commit 84e1aa2d59
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 40 additions and 2 deletions

View File

@ -1772,7 +1772,7 @@ pub(crate) fn render_impl_summary(
let is_trait = i.inner_impl().trait_.is_some();
if is_trait {
if let Some(portability) = portability(&i.impl_item, Some(parent)) {
write!(w, "<span class=\"item-info\">{}</span>", portability);
write!(w, "<div class=\"item-info\">{}</div>", portability);
}
}

View File

@ -0,0 +1,28 @@
// This test ensures that the "item-info" elements don't overflow.
goto: file://|DOC_PATH|/lib2/struct.LongItemInfo.html
// We set a fixed size so there is no chance of "random" resize.
size: (1200, 870)
// Logically, the "item-decl" and the "item-info" should have the same scroll width.
compare-elements-property: (".docblock.item-decl", ".item-info", ["scrollWidth"])
assert-property: (".item-info", {"scrollWidth": "890"})
// Just to be sure we're comparing the correct "item-info":
assert-text: (
".item-info",
"This is supported on Android or Linux or Emscripten or DragonFly BSD",
STARTS_WITH,
)
// Checking the "item-info" on an impl block as well:
goto: file://|DOC_PATH|/lib2/struct.LongItemInfo2.html
compare-elements-property: (
"#impl-SimpleTrait .item-info",
"#impl-SimpleTrait + .docblock",
["scrollWidth"],
)
assert-property: ("#impl-SimpleTrait .item-info", {"scrollWidth": "866"})
// Just to be sure we're comparing the correct "item-info":
assert-text: (
"#impl-SimpleTrait .item-info",
"This is supported on Android or Linux or Emscripten or DragonFly BSD",
STARTS_WITH,
)

View File

@ -120,3 +120,13 @@ pub struct HasALongTraitWithParams {}
pub trait LongTraitWithParamsBananaBananaBanana<T> {}
impl LongTraitWithParamsBananaBananaBanana<usize> for HasALongTraitWithParams {}
#[doc(cfg(any(target_os = "android", target_os = "linux", target_os = "emscripten", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd")))]
pub struct LongItemInfo;
pub trait SimpleTrait {}
pub struct LongItemInfo2;
/// Some docs.
#[doc(cfg(any(target_os = "android", target_os = "linux", target_os = "emscripten", target_os = "dragonfly", target_os = "freebsd", target_os = "netbsd", target_os = "openbsd")))]
impl SimpleTrait for LongItemInfo2 {}