diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2024-10-25 23:08:33 +0200 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2024-12-05 22:50:21 +0100 |
| commit | 5d26accecdeb623a7843c4204439fb86ee07fab5 (patch) | |
| tree | c077597ab8a9c9694acc03236aa7f56abce12011 | |
| parent | 32e6826a95a17ad853d0d6fe1281399e88347f57 (diff) | |
| download | rust-5d26accecdeb623a7843c4204439fb86ee07fab5.tar.gz rust-5d26accecdeb623a7843c4204439fb86ee07fab5.zip | |
Add GUI test for impl block doc display
| -rw-r--r-- | tests/rustdoc-gui/impl-block-doc.goml | 33 | ||||
| -rw-r--r-- | tests/rustdoc-gui/src/test_docs/lib.rs | 17 |
2 files changed, 50 insertions, 0 deletions
diff --git a/tests/rustdoc-gui/impl-block-doc.goml b/tests/rustdoc-gui/impl-block-doc.goml new file mode 100644 index 00000000000..6c7d7f4cbc1 --- /dev/null +++ b/tests/rustdoc-gui/impl-block-doc.goml @@ -0,0 +1,33 @@ +// Checks that the first sentence of an impl block doc is always visible even when the impl +// block is collapsed. +go-to: "file://" + |DOC_PATH| + "/test_docs/struct.ImplDoc.html" + +set-window-size: (900, 600) + +define-function: ( + "compare-size-and-pos", + [nth_impl], + block { + // First we collapse the impl block. + store-value: (impl_path, "#implementations-list details:nth-of-type(" + |nth_impl| + ")") + set-property: (|impl_path|, {"open": false}) + wait-for: |impl_path| + ":not([open])" + + store-value: (impl_path, |impl_path| + " summary") + store-size: (|impl_path|, {"height": impl_height}) + store-position: (|impl_path|, {"y": impl_y}) + + store-size: (|impl_path| + " .docblock", {"height": doc_height}) + store-position: (|impl_path| + " .docblock", {"y": doc_y}) + + assert: |impl_y| + |impl_height| >= |doc_y| + } +) + +call-function: ("compare-size-and-pos", {"nth_impl": 1}) +// Since the first impl block has a long line, we ensure that it doesn't display all of it. +assert: (|impl_y| + |impl_height|) <= (|doc_y| + |doc_height|) + +call-function: ("compare-size-and-pos", {"nth_impl": 2}) +// The second impl block has a short line. +assert: (|impl_y| + |impl_height|) >= (|doc_y| + |doc_height|) diff --git a/tests/rustdoc-gui/src/test_docs/lib.rs b/tests/rustdoc-gui/src/test_docs/lib.rs index 352995c4903..bdb958bf0e1 100644 --- a/tests/rustdoc-gui/src/test_docs/lib.rs +++ b/tests/rustdoc-gui/src/test_docs/lib.rs @@ -652,3 +652,20 @@ pub mod long_list { //! * [`FromBytes`](#a) indicates that a type may safely be converted from an arbitrary byte //! sequence } + +pub struct ImplDoc; + +/// bla sondfosdnf sdfasd fadsd fdsa f ads fad sf sad f sad fasdfsafsa df dsafasdasd fsa dfadsfasd +/// fads fadfadd +/// +/// bla +impl ImplDoc { + pub fn bar() {} +} + +/// bla +/// +/// bla +impl ImplDoc { + pub fn bar2() {} +} |
