]>
Commit | Line | Data |
---|---|---|
3c0e092e XL |
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 | |
5099ac24 FG |
9 | // 22px 1.375rem |
10 | // 20px 1.25rem | |
11 | // 18px 1.125em | |
12 | // 16px 1rem | |
13 | // 14px 0.875rem | |
353b0b11 | 14 | go-to: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html" |
3c0e092e | 15 | |
9c376795 | 16 | assert-css: (".main-heading h1", {"font-size": "24px"}) |
3c0e092e | 17 | |
5099ac24 | 18 | assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"}) |
3c0e092e | 19 | assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"}) |
5099ac24 | 20 | assert-css: ("h3#top-doc-prose-sub-heading", {"font-size": "20px"}) |
3c0e092e | 21 | assert-css: ("h3#top-doc-prose-sub-heading", {"border-bottom-width": "1px"}) |
5099ac24 | 22 | assert-css: ("h4#top-doc-prose-sub-sub-heading", {"font-size": "18px"}) |
3c0e092e XL |
23 | assert-css: ("h4#top-doc-prose-sub-sub-heading", {"border-bottom-width": "1px"}) |
24 | ||
5099ac24 | 25 | assert-css: ("h2#fields", {"font-size": "22px"}) |
3c0e092e | 26 | assert-css: ("h2#fields", {"border-bottom-width": "1px"}) |
5099ac24 | 27 | assert-css: ("h3#title-for-field", {"font-size": "20px"}) |
3c0e092e XL |
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 | ||
5099ac24 | 32 | assert-css: ("h2#implementations", {"font-size": "22px"}) |
3c0e092e XL |
33 | assert-css: ("h2#implementations", {"border-bottom-width": "1px"}) |
34 | ||
064997fb FG |
35 | assert-css: ("#impl-HeavilyDocumentedStruct > h3.code-header", {"font-size": "18px"}) |
36 | assert-css: ("#impl-HeavilyDocumentedStruct > h3.code-header", {"border-bottom-width": "0px"}) | |
3c0e092e XL |
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"}) | |
5099ac24 | 44 | assert-css: ("h6#sub-sub-heading-for-struct-impl-doc", {"font-size": "14px"}) |
3c0e092e XL |
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"}) | |
5099ac24 | 49 | assert-css: ("h6#sub-heading-for-struct-impl-item-doc", {"font-size": "14px"}) |
3c0e092e | 50 | assert-css: ("h6#sub-heading-for-struct-impl-item-doc", {"border-bottom-width": "0px"}) |
5099ac24 | 51 | assert-css: ("h6#sub-sub-heading-for-struct-impl-item-doc", {"font-size": "14px"}) |
3c0e092e | 52 | |
353b0b11 | 53 | go-to: "file://" + |DOC_PATH| + "/test_docs/enum.HeavilyDocumentedEnum.html" |
3c0e092e | 54 | |
9c376795 | 55 | assert-css: (".main-heading h1", {"font-size": "24px"}) |
3c0e092e | 56 | |
5099ac24 | 57 | assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"}) |
3c0e092e | 58 | assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"}) |
5099ac24 | 59 | assert-css: ("h3#top-doc-prose-sub-heading", {"font-size": "20px"}) |
3c0e092e | 60 | assert-css: ("h3#top-doc-prose-sub-heading", {"border-bottom-width": "1px"}) |
5099ac24 | 61 | assert-css: ("h4#top-doc-prose-sub-sub-heading", {"font-size": "18px"}) |
3c0e092e XL |
62 | assert-css: ("h4#top-doc-prose-sub-sub-heading", {"border-bottom-width": "1px"}) |
63 | ||
5099ac24 | 64 | assert-css: ("h2#variants", {"font-size": "22px"}) |
3c0e092e XL |
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"}) | |
5099ac24 | 79 | assert-css: ("h6#wrapped0-prose-sub-heading", {"font-size": "14px"}) |
3c0e092e XL |
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"}) | |
5099ac24 | 84 | assert-css: ("h6#structy-prose-sub-heading", {"font-size": "14px"}) |
3c0e092e XL |
85 | assert-css: ("h6#structy-prose-sub-heading", {"border-bottom-width": "0px"}) |
86 | ||
5099ac24 | 87 | assert-css: ("h2#implementations", {"font-size": "22px"}) |
3c0e092e XL |
88 | assert-css: ("h2#implementations", {"border-bottom-width": "1px"}) |
89 | ||
064997fb FG |
90 | assert-css: ("#impl-HeavilyDocumentedEnum > h3.code-header", {"font-size": "18px"}) |
91 | assert-css: ("#impl-HeavilyDocumentedEnum > h3.code-header", {"border-bottom-width": "0px"}) | |
3c0e092e XL |
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"}) | |
5099ac24 | 99 | assert-css: ("h6#sub-sub-heading-for-enum-impl-doc", {"font-size": "14px"}) |
3c0e092e XL |
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"}) | |
5099ac24 | 104 | assert-css: ("h6#sub-heading-for-enum-impl-item-doc", {"font-size": "14px"}) |
3c0e092e | 105 | assert-css: ("h6#sub-heading-for-enum-impl-item-doc", {"border-bottom-width": "0px"}) |
5099ac24 | 106 | assert-css: ("h6#sub-sub-heading-for-enum-impl-item-doc", {"font-size": "14px"}) |
3c0e092e XL |
107 | assert-css: ("h6#sub-sub-heading-for-enum-impl-item-doc", {"border-bottom-width": "0px"}) |
108 | ||
2b03887a FG |
109 | assert-text: ("//ul[@class='block mod']/preceding-sibling::h3", "Modules") |
110 | assert-css: ("//ul[@class='block mod']/preceding-sibling::h3", {"border-bottom-width": "0px"}, ALL) | |
3c0e092e | 111 | |
353b0b11 | 112 | go-to: "file://" + |DOC_PATH| + "/test_docs/union.HeavilyDocumentedUnion.html" |
3c0e092e | 113 | |
9c376795 | 114 | assert-css: (".main-heading h1", {"font-size": "24px"}) |
3c0e092e | 115 | |
5099ac24 | 116 | assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"}) |
3c0e092e | 117 | assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"}) |
5099ac24 | 118 | assert-css: ("h3#top-doc-prose-sub-heading", {"font-size": "20px"}) |
3c0e092e XL |
119 | assert-css: ("h3#top-doc-prose-sub-heading", {"border-bottom-width": "1px"}) |
120 | ||
5099ac24 | 121 | assert-css: ("h2#fields", {"font-size": "22px"}) |
3c0e092e XL |
122 | assert-css: ("h2#fields", {"border-bottom-width": "1px"}) |
123 | ||
5099ac24 | 124 | assert-css: ("h3#title-for-union-variant", {"font-size": "20px"}) |
3c0e092e XL |
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 | ||
5099ac24 | 129 | assert-css: ("h2#implementations", {"font-size": "22px"}) |
3c0e092e XL |
130 | assert-css: ("h2#implementations", {"border-bottom-width": "1px"}) |
131 | ||
064997fb FG |
132 | assert-css: ("#impl-HeavilyDocumentedUnion > h3.code-header", {"font-size": "18px"}) |
133 | assert-css: ("#impl-HeavilyDocumentedUnion > h3.code-header", {"border-bottom-width": "0px"}) | |
3c0e092e XL |
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"}) | |
5099ac24 | 141 | assert-css: ("h6#sub-heading-for-union-impl-item-doc", {"font-size": "14px"}) |
3c0e092e XL |
142 | assert-css: ("h6#sub-heading-for-union-impl-item-doc", {"border-bottom-width": "0px"}) |
143 | ||
353b0b11 | 144 | go-to: "file://" + |DOC_PATH| + "/test_docs/macro.heavily_documented_macro.html" |
3c0e092e | 145 | |
9c376795 | 146 | assert-css: (".main-heading h1", {"font-size": "24px"}) |
3c0e092e | 147 | |
5099ac24 | 148 | assert-css: ("h2#top-doc-prose-title", {"font-size": "22px"}) |
3c0e092e | 149 | assert-css: ("h2#top-doc-prose-title", {"border-bottom-width": "1px"}) |
5099ac24 | 150 | assert-css: ("h3#top-doc-prose-sub-heading", {"font-size": "20px"}) |
3c0e092e | 151 | assert-css: ("h3#top-doc-prose-sub-heading", {"border-bottom-width": "1px"}) |
5099ac24 | 152 | |
2b03887a | 153 | // Needed to check colors |
5099ac24 | 154 | show-text: true |
353b0b11 | 155 | go-to: "file://" + |DOC_PATH| + "/test_docs/struct.HeavilyDocumentedStruct.html" |
2b03887a FG |
156 | |
157 | define-function: ( | |
158 | "check-colors", | |
159 | (theme, heading_color, small_heading_color, heading_border_color), | |
9c376795 | 160 | block { |
353b0b11 | 161 | set-local-storage: {"rustdoc-theme": |theme|, "rustdoc-use-system-theme": "false"} |
9c376795 FG |
162 | reload: |
163 | assert-css: ( | |
2b03887a FG |
164 | ".top-doc .docblock h2", |
165 | {"color": |heading_color|, "border-bottom": "1px solid " + |heading_border_color|}, | |
9c376795 FG |
166 | ) |
167 | assert-css: ( | |
2b03887a FG |
168 | ".top-doc .docblock h3", |
169 | {"color": |heading_color|, "border-bottom": "1px solid " + |heading_border_color|}, | |
9c376795 FG |
170 | ) |
171 | assert-css: ( | |
2b03887a FG |
172 | ".top-doc .docblock h4", |
173 | {"color": |heading_color|, "border-bottom": "1px solid " + |heading_border_color|}, | |
9c376795 FG |
174 | ) |
175 | assert-css: ( | |
2b03887a FG |
176 | ".top-doc .docblock h5", |
177 | {"color": |small_heading_color|, "border-bottom-width": "0px"}, | |
9c376795 FG |
178 | ) |
179 | assert-css: ( | |
2b03887a FG |
180 | "#implementations-list .docblock h4", |
181 | {"color": |heading_color|, "border-bottom-width": "0px"}, | |
9c376795 FG |
182 | ) |
183 | assert-css: ( | |
2b03887a FG |
184 | "#implementations-list .docblock h5", |
185 | {"color": |small_heading_color|, "border-bottom-width": "0px"}, | |
9c376795 FG |
186 | ) |
187 | assert-css: ( | |
2b03887a FG |
188 | "#implementations-list .docblock h6", |
189 | {"color": |small_heading_color|, "border-bottom-width": "0px"}, | |
9c376795 FG |
190 | ) |
191 | }, | |
2b03887a FG |
192 | ) |
193 | call-function: ( | |
194 | "check-colors", | |
195 | { | |
196 | "theme": "ayu", | |
197 | "heading_color": "rgb(255, 255, 255)", | |
198 | "small_heading_color": "rgb(197, 197, 197)", | |
199 | "heading_border_color": "rgb(92, 103, 115)", | |
200 | }, | |
201 | ) | |
202 | call-function: ( | |
203 | "check-colors", | |
204 | { | |
205 | "theme": "dark", | |
206 | "heading_color": "rgb(221, 221, 221)", | |
207 | "small_heading_color": "rgb(221, 221, 221)", | |
208 | "heading_border_color": "rgb(210, 210, 210)", | |
209 | }, | |
210 | ) | |
211 | call-function: ( | |
212 | "check-colors", | |
213 | { | |
214 | "theme": "light", | |
215 | "heading_color": "rgb(0, 0, 0)", | |
216 | "small_heading_color": "rgb(0, 0, 0)", | |
217 | "heading_border_color": "rgb(221, 221, 221)", | |
218 | }, | |
219 | ) | |
220 | ||
221 | define-function: ( | |
222 | "check-since-color", | |
223 | (theme), | |
9c376795 | 224 | block { |
353b0b11 | 225 | set-local-storage: {"rustdoc-theme": |theme|} |
9c376795 FG |
226 | reload: |
227 | assert-css: (".since", {"color": "rgb(128, 128, 128)"}, ALL) | |
228 | }, | |
2b03887a FG |
229 | ) |
230 | ||
353b0b11 | 231 | go-to: "file://" + |DOC_PATH| + "/staged_api/struct.Foo.html" |
2b03887a FG |
232 | call-function: ("check-since-color", ("ayu")) |
233 | call-function: ("check-since-color", ("dark")) | |
234 | call-function: ("check-since-color", ("light")) |