summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc-gui/setting-auto-hide-trait-implementations.goml
diff options
context:
space:
mode:
Diffstat (limited to 'tests/rustdoc-gui/setting-auto-hide-trait-implementations.goml')
-rw-r--r--tests/rustdoc-gui/setting-auto-hide-trait-implementations.goml47
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/rustdoc-gui/setting-auto-hide-trait-implementations.goml b/tests/rustdoc-gui/setting-auto-hide-trait-implementations.goml
new file mode 100644
index 000000000..ecadd8fa8
--- /dev/null
+++ b/tests/rustdoc-gui/setting-auto-hide-trait-implementations.goml
@@ -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)
+ }
+)
+
+go-to: "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": "",
+})