]> git.lizzy.rs Git - rust.git/blob - src/test/rustdoc-gui/headings.goml
Point out a single arg if we have a single arg incompatibility
[rust.git] / src / test / rustdoc-gui / headings.goml
1 // This test checks that headers (a) have the correct heading level, (b) are the right size,
2 // and (c) have the correct underlining (or absence of underlining).
3 // The sizes may change as design changes, but try to make sure a lower header is never bigger than
4 // its parent headers. Also make sure lower headers don't have underlines when their parents lack
5 // an underline.
6 // Most of these sizes are set in CSS in `em` units, so here's a conversion chart based on our
7 // default 16px font size:
8 // 24px    1.5em
9 // 22px  1.375rem
10 // 20px  1.25rem
11 // 18px  1.125em
12 // 16px  1rem
13 // 14px  0.875rem
14 goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html
15
16 assert-css: ("h1.fqn", {"font-size": "24px"})
17
18 assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
19 assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})
20 assert-css: ("h3#top-doc-prose-sub-heading", {"font-size": "20px"})
21 assert-css: ("h3#top-doc-prose-sub-heading", {"border-bottom-width": "1px"})
22 assert-css: ("h4#top-doc-prose-sub-sub-heading", {"font-size": "18px"})
23 assert-css: ("h4#top-doc-prose-sub-sub-heading", {"border-bottom-width": "1px"})
24
25 assert-css: ("h2#fields", {"font-size": "22px"})
26 assert-css: ("h2#fields", {"border-bottom-width": "1px"})
27 assert-css: ("h3#title-for-field", {"font-size": "20px"})
28 assert-css: ("h3#title-for-field", {"border-bottom-width": "0px"})
29 assert-css: ("h4#sub-heading-for-field", {"font-size": "16px"})
30 assert-css: ("h4#sub-heading-for-field", {"border-bottom-width": "0px"})
31
32 assert-css: ("h2#implementations", {"font-size": "22px"})
33 assert-css: ("h2#implementations", {"border-bottom-width": "1px"})
34
35 assert-css: ("#impl-HeavilyDocumentedStruct > h3.code-header", {"font-size": "18px"})
36 assert-css: ("#impl-HeavilyDocumentedStruct > h3.code-header", {"border-bottom-width": "0px"})
37 assert-css: ("#method\.do_nothing > h4.code-header", {"font-size": "16px"})
38 assert-css: ("#method\.do_nothing > h4.code-header", {"border-bottom-width": "0px"})
39
40 assert-css: ("h4#title-for-struct-impl-doc", {"font-size": "16px"})
41 assert-css: ("h4#title-for-struct-impl-doc", {"border-bottom-width": "0px"})
42 assert-css: ("h5#sub-heading-for-struct-impl-doc", {"font-size": "16px"})
43 assert-css: ("h5#sub-heading-for-struct-impl-doc", {"border-bottom-width": "0px"})
44 assert-css: ("h6#sub-sub-heading-for-struct-impl-doc", {"font-size": "14px"})
45 assert-css: ("h6#sub-sub-heading-for-struct-impl-doc", {"border-bottom-width": "0px"})
46
47 assert-css: ("h5#title-for-struct-impl-item-doc", {"font-size": "16px"})
48 assert-css: ("h5#title-for-struct-impl-item-doc", {"border-bottom-width": "0px"})
49 assert-css: ("h6#sub-heading-for-struct-impl-item-doc", {"font-size": "14px"})
50 assert-css: ("h6#sub-heading-for-struct-impl-item-doc", {"border-bottom-width": "0px"})
51 assert-css: ("h6#sub-sub-heading-for-struct-impl-item-doc", {"font-size": "14px"})
52
53 goto: file://|DOC_PATH|/test_docs/enum.HeavilyDocumentedEnum.html
54
55 assert-css: ("h1.fqn", {"font-size": "24px"})
56
57 assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
58 assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})
59 assert-css: ("h3#top-doc-prose-sub-heading", {"font-size": "20px"})
60 assert-css: ("h3#top-doc-prose-sub-heading", {"border-bottom-width": "1px"})
61 assert-css: ("h4#top-doc-prose-sub-sub-heading", {"font-size": "18px"})
62 assert-css: ("h4#top-doc-prose-sub-sub-heading", {"border-bottom-width": "1px"})
63
64 assert-css: ("h2#variants", {"font-size": "22px"})
65 assert-css: ("h2#variants", {"border-bottom-width": "1px"})
66
67 assert-css: ("h4#none-prose-title", {"font-size": "16px"})
68 assert-css: ("h4#none-prose-title", {"border-bottom-width": "0px"})
69 assert-css: ("h5#none-prose-sub-heading", {"font-size": "16px"})
70 assert-css: ("h5#none-prose-sub-heading", {"border-bottom-width": "0px"})
71
72 assert-css: ("h4#wrapped-prose-title", {"font-size": "16px"})
73 assert-css: ("h4#wrapped-prose-title", {"border-bottom-width": "0px"})
74 assert-css: ("h5#wrapped-prose-sub-heading", {"font-size": "16px"})
75 assert-css: ("h5#wrapped-prose-sub-heading", {"border-bottom-width": "0px"})
76
77 assert-css: ("h5#wrapped0-prose-title", {"font-size": "16px"})
78 assert-css: ("h5#wrapped0-prose-title", {"border-bottom-width": "0px"})
79 assert-css: ("h6#wrapped0-prose-sub-heading", {"font-size": "14px"})
80 assert-css: ("h6#wrapped0-prose-sub-heading", {"border-bottom-width": "0px"})
81
82 assert-css: ("h5#structy-prose-title", {"font-size": "16px"})
83 assert-css: ("h5#structy-prose-title", {"border-bottom-width": "0px"})
84 assert-css: ("h6#structy-prose-sub-heading", {"font-size": "14px"})
85 assert-css: ("h6#structy-prose-sub-heading", {"border-bottom-width": "0px"})
86
87 assert-css: ("h2#implementations", {"font-size": "22px"})
88 assert-css: ("h2#implementations", {"border-bottom-width": "1px"})
89
90 assert-css: ("#impl-HeavilyDocumentedEnum > h3.code-header", {"font-size": "18px"})
91 assert-css: ("#impl-HeavilyDocumentedEnum > h3.code-header", {"border-bottom-width": "0px"})
92 assert-css: ("#method\.do_nothing > h4.code-header", {"font-size": "16px"})
93 assert-css: ("#method\.do_nothing > h4.code-header", {"border-bottom-width": "0px"})
94
95 assert-css: ("h4#title-for-enum-impl-doc", {"font-size": "16px"})
96 assert-css: ("h4#title-for-enum-impl-doc", {"border-bottom-width": "0px"})
97 assert-css: ("h5#sub-heading-for-enum-impl-doc", {"font-size": "16px"})
98 assert-css: ("h5#sub-heading-for-enum-impl-doc", {"border-bottom-width": "0px"})
99 assert-css: ("h6#sub-sub-heading-for-enum-impl-doc", {"font-size": "14px"})
100 assert-css: ("h6#sub-sub-heading-for-enum-impl-doc", {"border-bottom-width": "0px"})
101
102 assert-css: ("h5#title-for-enum-impl-item-doc", {"font-size": "16px"})
103 assert-css: ("h5#title-for-enum-impl-item-doc", {"border-bottom-width": "0px"})
104 assert-css: ("h6#sub-heading-for-enum-impl-item-doc", {"font-size": "14px"})
105 assert-css: ("h6#sub-heading-for-enum-impl-item-doc", {"border-bottom-width": "0px"})
106 assert-css: ("h6#sub-sub-heading-for-enum-impl-item-doc", {"font-size": "14px"})
107 assert-css: ("h6#sub-sub-heading-for-enum-impl-item-doc", {"border-bottom-width": "0px"})
108
109 assert-text: (".sidebar .mod h3", "Modules")
110 assert-css: (".sidebar .mod h3", {"border-bottom-width": "0px"}, ALL)
111
112 goto: file://|DOC_PATH|/test_docs/union.HeavilyDocumentedUnion.html
113
114 assert-css: ("h1.fqn", {"font-size": "24px"})
115
116 assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
117 assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})
118 assert-css: ("h3#top-doc-prose-sub-heading", {"font-size": "20px"})
119 assert-css: ("h3#top-doc-prose-sub-heading", {"border-bottom-width": "1px"})
120
121 assert-css: ("h2#fields", {"font-size": "22px"})
122 assert-css: ("h2#fields", {"border-bottom-width": "1px"})
123
124 assert-css: ("h3#title-for-union-variant", {"font-size": "20px"})
125 assert-css: ("h3#title-for-union-variant", {"border-bottom-width": "0px"})
126 assert-css: ("h4#sub-heading-for-union-variant", {"font-size": "16px"})
127 assert-css: ("h4#sub-heading-for-union-variant", {"border-bottom-width": "0px"})
128
129 assert-css: ("h2#implementations", {"font-size": "22px"})
130 assert-css: ("h2#implementations", {"border-bottom-width": "1px"})
131
132 assert-css: ("#impl-HeavilyDocumentedUnion > h3.code-header", {"font-size": "18px"})
133 assert-css: ("#impl-HeavilyDocumentedUnion > h3.code-header", {"border-bottom-width": "0px"})
134 assert-css: ("h4#title-for-union-impl-doc", {"font-size": "16px"})
135 assert-css: ("h4#title-for-union-impl-doc", {"border-bottom-width": "0px"})
136 assert-css: ("h5#sub-heading-for-union-impl-doc", {"font-size": "16px"})
137 assert-css: ("h5#sub-heading-for-union-impl-doc", {"border-bottom-width": "0px"})
138
139 assert-css: ("h5#title-for-union-impl-item-doc", {"font-size": "16px"})
140 assert-css: ("h5#title-for-union-impl-item-doc", {"border-bottom-width": "0px"})
141 assert-css: ("h6#sub-heading-for-union-impl-item-doc", {"font-size": "14px"})
142 assert-css: ("h6#sub-heading-for-union-impl-item-doc", {"border-bottom-width": "0px"})
143
144 goto: file://|DOC_PATH|/test_docs/macro.heavily_documented_macro.html
145
146 assert-css: ("h1.fqn", {"font-size": "24px"})
147
148 assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"})
149 assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"})
150 assert-css: ("h3#top-doc-prose-sub-heading", {"font-size": "20px"})
151 assert-css: ("h3#top-doc-prose-sub-heading", {"border-bottom-width": "1px"})
152
153 // Checking colors now.
154 show-text: true
155 local-storage: {"rustdoc-theme": "light", "rustdoc-use-system-theme": "false"}
156 goto: file://|DOC_PATH|/test_docs/struct.HeavilyDocumentedStruct.html
157 assert-css: (
158     ".top-doc .docblock h2",
159     {"color": "rgb(0, 0, 0)", "border-bottom": "1px solid rgb(221, 221, 221)"},
160 )
161 assert-css: (
162     ".top-doc .docblock h3",
163     {"color": "rgb(0, 0, 0)", "border-bottom": "1px solid rgb(221, 221, 221)"},
164 )
165 assert-css: (
166     ".top-doc .docblock h4",
167     {"color": "rgb(0, 0, 0)", "border-bottom": "1px solid rgb(221, 221, 221)"},
168 )
169 assert-css: (
170     ".top-doc .docblock h5",
171     {"color": "rgb(0, 0, 0)", "border-bottom": "0px none rgb(221, 221, 221)"},
172 )
173 assert-css: (
174     "#implementations-list .docblock h4",
175     {"color": "rgb(0, 0, 0)", "border-bottom": "0px none rgb(221, 221, 221)"},
176 )
177 assert-css: (
178     "#implementations-list .docblock h5",
179     {"color": "rgb(0, 0, 0)", "border-bottom": "0px none rgb(221, 221, 221)"},
180 )
181 assert-css: (
182     "#implementations-list .docblock h6",
183     {"color": "rgb(0, 0, 0)", "border-bottom": "0px none rgb(221, 221, 221)"},
184 )
185
186 local-storage: {"rustdoc-theme": "dark"}
187 reload:
188 assert-css: (
189     ".top-doc .docblock h2",
190     {"color": "rgb(221, 221, 221)", "border-bottom": "1px solid rgb(210, 210, 210)"},
191 )
192 assert-css: (
193     ".top-doc .docblock h3",
194     {"color": "rgb(221, 221, 221)", "border-bottom": "1px solid rgb(210, 210, 210)"},
195 )
196 assert-css: (
197     ".top-doc .docblock h4",
198     {"color": "rgb(221, 221, 221)", "border-bottom": "1px solid rgb(210, 210, 210)"},
199 )
200 assert-css: (
201     ".top-doc .docblock h5",
202     {"color": "rgb(221, 221, 221)", "border-bottom": "0px none rgb(210, 210, 210)"},
203 )
204 assert-css: (
205     "#implementations-list .docblock h4",
206     {"color": "rgb(221, 221, 221)", "border-bottom": "0px none rgb(210, 210, 210)"},
207 )
208 assert-css: (
209     "#implementations-list .docblock h5",
210     {"color": "rgb(221, 221, 221)", "border-bottom": "0px none rgb(210, 210, 210)"},
211 )
212 assert-css: (
213     "#implementations-list .docblock h6",
214     {"color": "rgb(221, 221, 221)", "border-bottom": "0px none rgb(210, 210, 210)"},
215 )
216
217 local-storage: {"rustdoc-theme": "ayu"}
218 reload:
219 assert-css: (
220     ".top-doc .docblock h2",
221     {"color": "rgb(255, 255, 255)", "border-bottom": "1px solid rgb(92, 103, 115)"},
222 )
223 assert-css: (
224     ".top-doc .docblock h2",
225     {"color": "rgb(255, 255, 255)", "border-bottom": "1px solid rgb(92, 103, 115)"},
226 )
227 assert-css: (
228     ".top-doc .docblock h4",
229     {"color": "rgb(255, 255, 255)", "border-bottom": "1px solid rgb(92, 103, 115)"},
230 )
231 assert-css: (
232     ".top-doc .docblock h5",
233     {"color": "rgb(197, 197, 197)", "border-bottom": "0px none rgb(92, 103, 115)"},
234 )
235 assert-css: (
236     "#implementations-list .docblock h4",
237     {"color": "rgb(255, 255, 255)", "border-bottom": "0px none rgb(92, 103, 115)"},
238 )
239 assert-css: (
240     "#implementations-list .docblock h5",
241     {"color": "rgb(197, 197, 197)", "border-bottom": "0px none rgb(92, 103, 115)"},
242 )
243 assert-css: (
244     "#implementations-list .docblock h6",
245     {"color": "rgb(197, 197, 197)", "border-bottom": "0px none rgb(92, 103, 115)"},
246 )
247
248 local-storage: {"rustdoc-theme": "light"}
249 goto: file://|DOC_PATH|/staged_api/struct.Foo.html
250 assert-css: (".since", {"color": "rgb(128, 128, 128)"})
251
252 local-storage: {"rustdoc-theme": "dark"}
253 reload:
254 assert-css: (".since", {"color": "rgb(128, 128, 128)"})
255
256 local-storage: {"rustdoc-theme": "ayu"}
257 reload:
258 assert-css: (".since", {"color": "rgb(128, 128, 128)"})