summaryrefslogtreecommitdiffstats
path: root/tests/rustdoc-gui/setting-auto-hide-content-large-items.goml
blob: 6cd725043f4ad18cbcdfe3c99c1b7f84180755e8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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|})
    }
)

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,
})