about summary refs log tree commit diff
path: root/tests/rustdoc-gui
diff options
context:
space:
mode:
authorSpecificProtagonist <specificprotagonist@posteo.org>2025-05-10 19:24:59 +0200
committerSpecificProtagonist <specificprotagonist@posteo.org>2025-05-10 19:36:28 +0200
commit31ae60d30d96b32c35a3dd5239a68997c9d4a27d (patch)
tree434998b4f50af41c0848bfb08910d78abe70c74a /tests/rustdoc-gui
parent838e742ea49648d63461b41ea330a9a1ed086c02 (diff)
downloadrust-31ae60d30d96b32c35a3dd5239a68997c9d4a27d.tar.gz
rust-31ae60d30d96b32c35a3dd5239a68997c9d4a27d.zip
gui test
Diffstat (limited to 'tests/rustdoc-gui')
-rw-r--r--tests/rustdoc-gui/collapse-trait-impl.goml23
-rw-r--r--tests/rustdoc-gui/src/test_docs/lib.rs1
2 files changed, 24 insertions, 0 deletions
diff --git a/tests/rustdoc-gui/collapse-trait-impl.goml b/tests/rustdoc-gui/collapse-trait-impl.goml
new file mode 100644
index 00000000000..dc1170a831a
--- /dev/null
+++ b/tests/rustdoc-gui/collapse-trait-impl.goml
@@ -0,0 +1,23 @@
+// Checks that individual trait impls can only be collapsed via clicking directly on the summary element
+include: "utils.goml"
+
+go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
+assert-attribute: ("details:has(#trait-impl-link-in-summary)", {"open": ""})
+
+// Collapse the trait impl doc. The actual clickable area is outside the element, hence offset.
+click-with-offset: ("summary:has(#trait-impl-link-in-summary)", {"x": -15, "y": 5})
+assert-attribute-false: ("details:has(#trait-impl-link-in-summary)", {"open": ""})
+
+// Clicks on the text should be ignored
+click: "summary:has(#trait-impl-link-in-summary) > .impl"
+assert-window-property: ({"pageYOffset": "0"})
+
+// But links should still work
+click: "#trait-impl-link-in-summary"
+assert-window-property-false: ({"pageYOffset": "0"})
+
+// As well as clicks on elements within links
+go-to: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
+assert-window-property: ({"pageYOffset": "0"})
+click: "#trait-impl-link-in-summary"
+assert-window-property-false: ({"pageYOffset": "0"})
diff --git a/tests/rustdoc-gui/src/test_docs/lib.rs b/tests/rustdoc-gui/src/test_docs/lib.rs
index bb0015b8f9c..e8afe8b5687 100644
--- a/tests/rustdoc-gui/src/test_docs/lib.rs
+++ b/tests/rustdoc-gui/src/test_docs/lib.rs
@@ -79,6 +79,7 @@ impl Foo {
     pub fn warning2() {}
 }
 
+/// <a href="#implementations"><code id="trait-impl-link-in-summary">A collapsible trait impl with a link</code></a>
 impl AsRef<str> for Foo {
     fn as_ref(&self) -> &str {
         "hello"