about summary refs log tree commit diff
path: root/tests/rustdoc-gui/source-code-wrapping.goml
blob: 0dab9c72ea9fdb2db09734fc36279a1ccb19daa8 (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
52
53
54
55
56
57
58
59
60
61
62
// Checks that the interactions with the source code pages are working as expected.
go-to: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html"
show-text: true
set-window-size: (1000, 1000)

define-function: (
    "click-code-wrapping",
    [expected],
    block {
        click: "#word-wrap-source-code"
        wait-for-local-storage: {"rustdoc-word-wrap-source-code": |expected|}
    },
)

store-size: (".rust code", {"width": width, "height": height})
click: "#settings-menu"
wait-for: "#settings"
call-function: ("click-code-wrapping", {"expected": "true"})
wait-for-size-false: (".rust code", {"width": |width|, "height": |height|})
store-size: (".rust code", {"width": new_width, "height": new_height})
// The width should now be smaller than the window's and the height
// should have increased.
assert: |width| > |new_width| && |height| < |new_height|

// Switching back to the original setting.
call-function: ("click-code-wrapping", {"expected": "false"})
assert-size: (".rust code", {"width": |width|, "height": |height|})

// Now let's check in docs code examples.
go-to: "file://" + |DOC_PATH| + "/test_docs/trait_bounds/index.html"
click: "#settings-menu"
wait-for: "#settings"

store-property: (".example-wrap .rust code", {"scrollWidth": rust_width, "scrollHeight": rust_height})
store-property: (".example-wrap .language-text code", {"scrollWidth": txt_width, "scrollHeight": txt_height})
call-function: ("click-code-wrapping", {"expected": "true"})
wait-for-property-false: (
    ".example-wrap .rust code",
    {"scrollWidth": |rust_width|, "scrollHeight": |rust_height|},
)

store-property: (
    ".example-wrap .rust code",
    {"scrollWidth": new_rust_width, "scrollHeight": new_rust_height},
)
store-property: (
    ".example-wrap .language-text code",
    {"scrollWidth": new_txt_width, "scrollHeight": new_txt_height},
)

assert: |rust_width| > |new_rust_width| && |rust_height| < |new_rust_height|
assert: |txt_width| > |new_txt_width| && |txt_height| < |new_txt_height|

call-function: ("click-code-wrapping", {"expected": "false"})
wait-for-property: (
    ".example-wrap .rust code",
    {"scrollWidth": |rust_width|, "scrollHeight": |rust_height|},
)
assert-property: (
    ".example-wrap .language-text code",
    {"scrollWidth": |txt_width|, "scrollHeight": |txt_height|},
)