Rollup merge of #109412 - GuillaumeGomez:add-gui-test, r=notriddle

rustdoc: Add GUI test for "Auto-hide item contents for large items" setting

Part of https://github.com/rust-lang/rust/issues/66181.

The `browser-ui-test` version update is because there wasn't `null` check for attributes so I added it (PR is [here](https://github.com/GuillaumeGomez/browser-UI-test/pull/440)).

r? ``@notriddle``
This commit is contained in:
Matthias Krüger 2023-03-22 20:08:02 +01:00 committed by GitHub
commit a7570b022e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 52 additions and 1 deletions

View File

@ -0,0 +1,51 @@
// This test ensures that the "Auto-hide item contents for large items" setting is working as
// expected.
// We need to disable this check because `implementors/test_docs/trait.Iterator.js` doesn't exist.
fail-on-request-error: false
define-function: (
"check-setting",
(storage_value, setting_attribute_value, toggle_attribute_value),
block {
assert-local-storage: {"rustdoc-auto-hide-large-items": |storage_value|}
click: "#settings-menu"
wait-for: "#settings"
assert-property: ("#auto-hide-large-items", {"checked": |setting_attribute_value|})
assert-attribute: (".item-decl .type-contents-toggle", {"open": |toggle_attribute_value|})
}
)
goto: "file://" + |DOC_PATH| + "/lib2/scroll_traits/trait.Iterator.html"
// We check that the setting is enabled by default and is working.
call-function: ("check-setting", {
"storage_value": null,
"setting_attribute_value": "true",
"toggle_attribute_value": null,
})
// Now we change its value.
click: "#auto-hide-large-items"
assert-local-storage: {"rustdoc-auto-hide-large-items": "false"}
// We check that the changes were applied as expected.
reload:
call-function: ("check-setting", {
"storage_value": "false",
"setting_attribute_value": "false",
"toggle_attribute_value": "",
})
// And now we re-enable the setting.
click: "#auto-hide-large-items"
assert-local-storage: {"rustdoc-auto-hide-large-items": "true"}
// And we check everything is back the way it was before.
reload:
call-function: ("check-setting", {
"storage_value": "true",
"setting_attribute_value": "true",
"toggle_attribute_value": null,
})