about summary refs log tree commit diff
path: root/tests/rustdoc-gui/setting-auto-hide-item-methods-docs.goml
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2023-03-24 16:57:55 +0100
committerGuillaume Gomez <guillaume.gomez@huawei.com>2023-03-24 16:57:55 +0100
commit9cb7d4ca3932b87617276842b9d59b14a1cbe279 (patch)
tree72f4256bdf61f2ac800e33658adcb6b9997988e7 /tests/rustdoc-gui/setting-auto-hide-item-methods-docs.goml
parent84dd6dfd9d19176cc3c94bc1448a841e44d57890 (diff)
downloadrust-9cb7d4ca3932b87617276842b9d59b14a1cbe279.tar.gz
rust-9cb7d4ca3932b87617276842b9d59b14a1cbe279.zip
Add GUI test for "Auto-hide item methods' documentation" setting
Diffstat (limited to 'tests/rustdoc-gui/setting-auto-hide-item-methods-docs.goml')
-rw-r--r--tests/rustdoc-gui/setting-auto-hide-item-methods-docs.goml48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/rustdoc-gui/setting-auto-hide-item-methods-docs.goml b/tests/rustdoc-gui/setting-auto-hide-item-methods-docs.goml
new file mode 100644
index 00000000000..e34fee33beb
--- /dev/null
+++ b/tests/rustdoc-gui/setting-auto-hide-item-methods-docs.goml
@@ -0,0 +1,48 @@
+// This test ensures that the "Auto-hide item methods' documentation" setting is working as
+// expected.
+
+define-function: (
+    "check-setting",
+    (storage_value, setting_attribute_value, toggle_attribute_value),
+    block {
+        assert-local-storage: {"rustdoc-auto-hide-method-docs": |storage_value|}
+        click: "#settings-menu"
+        wait-for: "#settings"
+        assert-property: ("#auto-hide-method-docs", {"checked": |setting_attribute_value|})
+        assert-attribute: (".toggle.method-toggle", {"open": |toggle_attribute_value|})
+    }
+)
+
+goto: "file://" + |DOC_PATH| + "/lib2/struct.Foo.html"
+
+// We check that the setting is disabled by default.
+call-function: ("check-setting", {
+    "storage_value": null,
+    "setting_attribute_value": "false",
+    "toggle_attribute_value": "",
+})
+
+// Now we change its value.
+click: "#auto-hide-method-docs"
+assert-local-storage: {"rustdoc-auto-hide-method-docs": "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-method-docs"
+assert-local-storage: {"rustdoc-auto-hide-method-docs": "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": "",
+})