Rollup merge of #109595 - GuillaumeGomez:improve-gui-test-auto-hide-trait, r=notriddle

Improve "Auto-hide trait implementation documentation" GUI test

Part of #66181.

I'll start working on the `include` command for `browser-ui-test` so we can greatly reduce the duplicated code between setting tests.

r? ``@notriddle``
This commit is contained in:
Matthias Krüger 2023-03-26 08:39:27 +02:00 committed by GitHub
commit 236178698a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 47 additions and 13 deletions

View File

@ -1,13 +0,0 @@
// Checks that the setting "auto hide trait implementations" is working as expected.
goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// By default, the trait implementations are not collapsed.
assert-attribute: ("#trait-implementations-list > details", {"open": ""}, ALL)
// We now set the setting to auto hide all trait implementations.
local-storage: {"rustdoc-auto-hide-trait-implementations": "true" }
// We reload to ensure the trait implementations are collapsed as expected.
reload:
// We now check that all matching elements don't have the open attributes.
assert-attribute-false: ("#trait-implementations-list > details", {"open": ""}, ALL)

View File

@ -0,0 +1,47 @@
// Checks that the setting "auto hide trait implementations" is working as expected.
define-function: (
"check-setting",
(storage_value, setting_attribute_value, toggle_attribute_value),
block {
assert-local-storage: {"rustdoc-auto-hide-trait-implementations": |storage_value|}
click: "#settings-menu"
wait-for: "#settings"
assert-property: ("#auto-hide-trait-implementations", {"checked": |setting_attribute_value|})
assert-attribute: ("#trait-implementations-list > details", {"open": |toggle_attribute_value|}, ALL)
}
)
goto: "file://" + |DOC_PATH| + "/test_docs/struct.Foo.html"
// By default, the trait implementations are not collapsed.
call-function: ("check-setting", {
"storage_value": null,
"setting_attribute_value": "false",
"toggle_attribute_value": "",
})
// Now we change its value.
click: "#auto-hide-trait-implementations"
assert-local-storage: {"rustdoc-auto-hide-trait-implementations": "true"}
// We check that the changes were applied as expected.
reload:
call-function: ("check-setting", {
"storage_value": "true",
"setting_attribute_value": "true",
"toggle_attribute_value": null,
})
// And now we re-disable the setting.
click: "#auto-hide-trait-implementations"
assert-local-storage: {"rustdoc-auto-hide-trait-implementations": "false"}
// And we check everything is back the way it was before.
reload:
call-function: ("check-setting", {
"storage_value": "false",
"setting_attribute_value": "false",
"toggle_attribute_value": "",
})