Skip to content

Commit 2342756

Browse files
Update test for anchors and headings position
1 parent 20eda22 commit 2342756

File tree

2 files changed

+47
-1
lines changed

2 files changed

+47
-1
lines changed

src/test/rustdoc-gui/anchors.goml

+45-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// This test is to ensure that the anchors (`§`) have the expected color.
1+
// This test is to ensure that the anchors (`§`) have the expected color and position.
22
goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html
33
show-text: true
44

@@ -28,3 +28,47 @@ assert-css: ("h2#implementations a.anchor", {"color": "rgb(0, 0, 0)"})
2828
// Same thing with the impl block title.
2929
move-cursor-to: "#impl"
3030
assert-css: ("#impl a.anchor", {"color": "rgb(0, 0, 0)"})
31+
32+
// Now we check the positions: only the first heading of the top doc comment should
33+
// have a different position.
34+
move-cursor-to: ".top-doc .docblock .section-header:first-child"
35+
assert-css: (
36+
".top-doc .docblock .section-header:first-child > a::before",
37+
{"left": "-10px", "padding-right": "10px"}
38+
)
39+
// We also check that the heading itself has a different indent.
40+
assert-css: (".top-doc .docblock .section-header:first-child", {"margin-left": "15px"})
41+
42+
move-cursor-to: ".top-doc .docblock .section-header:not(:first-child)"
43+
assert-css: (
44+
".top-doc .docblock .section-header:not(:first-child) > a::before",
45+
{"left": "-25px", "padding-right": "10px"}
46+
)
47+
assert-css: (".top-doc .docblock .section-header:not(:first-child)", {"margin-left": "0px"})
48+
49+
// Now let's check some other docblock headings...
50+
// First the impl block docs.
51+
move-cursor-to: "#title-for-struct-impl-doc"
52+
assert-css: (
53+
"#title-for-struct-impl-doc > a::before",
54+
{"left": "-25px", "padding-right": "10px"}
55+
)
56+
assert-css: ("#title-for-struct-impl-doc", {"margin-left": "0px"})
57+
// Now a method docs.
58+
move-cursor-to: "#title-for-struct-impl-item-doc"
59+
assert-css: (
60+
"#title-for-struct-impl-item-doc > a::before",
61+
{"left": "-25px", "padding-right": "10px"}
62+
)
63+
assert-css: ("#title-for-struct-impl-item-doc", {"margin-left": "0px"})
64+
65+
// Finally, we want to ensure that if the first element of the doc block isn't a heading,
66+
// if there is a heading afterwards, it won't have the indent.
67+
goto: file://|DOC_PATH|/test_docs/enum.WhoLetTheDogOut.html
68+
69+
move-cursor-to: ".top-doc .docblock .section-header"
70+
assert-css: (
71+
".top-doc .docblock .section-header > a::before",
72+
{"left": "-25px", "padding-right": "10px"}
73+
)
74+
assert-css: (".top-doc .docblock .section-header", {"margin-left": "0px"})

src/test/rustdoc-gui/src/test_docs/lib.rs

+2
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ impl AsRef<str> for Foo {
4747
}
4848

4949
/// Just a normal enum.
50+
///
51+
/// # title!
5052
#[doc(alias = "ThisIsAnAlias")]
5153
pub enum WhoLetTheDogOut {
5254
/// Woof!

0 commit comments

Comments
 (0)