| // This test ensures that the "Auto-hide item contents for large items" setting is working as | |
| // expected. | |
| include: "utils.goml" | |
| // We need to disable this check because `trait.impl/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|} | |
| call-function: ("open-settings-menu", {}) | |
| assert-property: ("#auto-hide-large-items", {"checked": |setting_attribute_value|}) | |
| assert-attribute: (".item-decl .type-contents-toggle", {"open": |toggle_attribute_value|}) | |
| } | |
| ) | |
| go-to: "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, | |
| }) |