about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2022-04-05 18:04:16 +0200
committerGuillaume Gomez <guillaume.gomez@huawei.com>2022-04-05 18:11:27 +0200
commit3baac2af058aa4ab98e2ec2e3ec8a73f127f1140 (patch)
tree9f80abc98d0fca476e4ea1f1e6656626c22a21a5
parenta404523fbdfcc9e9d8e99f781aca1e7b2e9e6c04 (diff)
downloadrust-3baac2af058aa4ab98e2ec2e3ec8a73f127f1140.tar.gz
rust-3baac2af058aa4ab98e2ec2e3ec8a73f127f1140.zip
Add GUI test to ensure that the width of the item-info does not overflow its parent
-rw-r--r--src/test/rustdoc-gui/item-info-overflow.goml28
-rw-r--r--src/test/rustdoc-gui/src/lib2/lib.rs10
2 files changed, 38 insertions, 0 deletions
diff --git a/src/test/rustdoc-gui/item-info-overflow.goml b/src/test/rustdoc-gui/item-info-overflow.goml
new file mode 100644
index 00000000000..4ff719bfb7d
--- /dev/null
+++ b/src/test/rustdoc-gui/item-info-overflow.goml
@@ -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,
+)
diff --git a/src/test/rustdoc-gui/src/lib2/lib.rs b/src/test/rustdoc-gui/src/lib2/lib.rs
index 5b6d236e8e0..83e86c43934 100644
--- a/src/test/rustdoc-gui/src/lib2/lib.rs
+++ b/src/test/rustdoc-gui/src/lib2/lib.rs
@@ -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 {}