@@ -87,7 +87,7 @@ assert-css: ("#settings", {"display": "block"})
8787
8888// Then, click the toggle button.
8989click: "input#line-numbers"
90- wait-for: 100 // wait-for-false does not exist
90+ wait-for: 100 // FIXME: ` wait-for-false`  does not exist
9191assert-false: "pre.example-line-numbers"
9292assert-local-storage: {"rustdoc-line-numbers": "false" }
9393
@@ -107,6 +107,8 @@ assert-css: (
107107click: "input#line-numbers"
108108wait-for: "pre.example-line-numbers"
109109assert-local-storage: {"rustdoc-line-numbers": "true" }
110+ wait-for: 100 // FIXME: `wait-for-false` does not exist
111+ assert: "pre.example-line-numbers"
110112
111113// Same check with scraped examples line numbers.
112114go-to: "file://" + |DOC_PATH| + "/scrape_examples/fn.test_many.html"
@@ -145,9 +147,6 @@ assert-css: (
145147    ALL,
146148)
147149
148- // Checking line numbers on scraped code examples.
149- go-to: "file://" + |DOC_PATH| + "/scrape_examples/fn.test_many.html"
150- 
151150define-function: (
152151    "check-padding",
153152    [path, padding_bottom],
@@ -157,19 +156,19 @@ define-function: (
157156            "padding-bottom": "0px",
158157            "padding-left": "0px",
159158            "padding-right": "0px",
160-         })
159+         }, ALL )
161160        assert-css: (|path| + " .src-line-numbers > pre", {
162161            "padding-top": "14px",
163162            "padding-bottom": |padding_bottom|,
164163            "padding-left": "0px",
165164            "padding-right": "0px",
166-         })
165+         }, ALL )
167166        assert-css: (|path| + " .src-line-numbers > pre > span", {
168167            "padding-top": "0px",
169168            "padding-bottom": "0px",
170169            "padding-left": "8px",
171170            "padding-right": "8px",
172-         })
171+         }, ALL )
173172    },
174173)
175174
@@ -188,6 +187,35 @@ call-function: ("check-padding", {
188187    "padding_bottom": "14px",
189188})
190189
190+ define-function: ("check-line-numbers-existence", [], block {
191+     assert-local-storage: {"rustdoc-line-numbers": "true" }
192+     assert-false: ".example-line-numbers"
193+     click: "#settings-menu"
194+     wait-for: "#settings"
195+ 
196+     // Then, click the toggle button.
197+     click: "input#line-numbers"
198+     wait-for: 100 // FIXME: `wait-for-false` does not exist
199+     assert-local-storage-false: {"rustdoc-line-numbers": "true" }
200+     assert-false: ".example-line-numbers"
201+     // Line numbers should still be there.
202+     assert: ".src-line-numbers"
203+     // Now disabling the setting.
204+     click: "input#line-numbers"
205+     wait-for: 100 // FIXME: `wait-for-false` does not exist
206+     assert-local-storage: {"rustdoc-line-numbers": "true" }
207+     assert-false: ".example-line-numbers"
208+     // Line numbers should still be there.
209+     assert: ".src-line-numbers"
210+     // Closing settings menu.
211+     click: "#settings-menu"
212+     wait-for-css: ("#settings", {"display": "none"})
213+ })
214+ 
215+ // Checking that turning off the line numbers setting won't remove line numbers from scraped
216+ // examples.
217+ call-function: ("check-line-numbers-existence", {})
218+ 
191219// Now checking the line numbers in the source code page.
192220click: ".src"
193221assert-css: (".src-line-numbers", {
@@ -202,3 +230,28 @@ assert-css: (".src-line-numbers > a", {
202230    "padding-left": "8px",
203231    "padding-right": "8px",
204232})
233+ // Checking that turning off the line numbers setting won't remove line numbers.
234+ call-function: ("check-line-numbers-existence", {})
235+ 
236+ // Now checking that even non-rust code blocks have line numbers generated.
237+ go-to: "file://" + |DOC_PATH| + "/lib2/sub_mod/struct.Foo.html"
238+ assert-local-storage: {"rustdoc-line-numbers": "true" }
239+ assert: ".example-wrap > pre.language-txt"
240+ assert: ".example-wrap > pre.rust"
241+ assert-count: (".example-wrap", 2)
242+ assert-count: (".example-wrap > pre.example-line-numbers", 2)
243+ 
244+ click: "#settings-menu"
245+ wait-for: "#settings"
246+ 
247+ // Then, click the toggle button.
248+ click: "input#line-numbers"
249+ wait-for: 100 // FIXME: `wait-for-false` does not exist
250+ assert-local-storage-false: {"rustdoc-line-numbers": "true" }
251+ assert-count: (".example-wrap > pre.example-line-numbers", 0)
252+ 
253+ // Now turning off the setting.
254+ click: "input#line-numbers"
255+ wait-for: 100 // FIXME: `wait-for-false` does not exist
256+ assert-local-storage: {"rustdoc-line-numbers": "true" }
257+ assert-count: (".example-wrap > pre.example-line-numbers", 2)
0 commit comments