@@ -7,42 +7,39 @@ set-window-size: (1100, 600)
7
7
reload:
8
8
9
9
store-value: (content_indent, 308)
10
+ store-value: (sidebar_storage_value, "mdbook-sidebar")
11
+ store-value: (sidebar_storage_hidden_value, "hidden")
12
+ store-value: (sidebar_storage_displayed_value, "visible")
10
13
11
14
define-function: (
12
15
"hide-sidebar",
13
16
[],
14
17
block {
15
- // The content should be "moved" to the right because of the sidebar.
16
- assert-css: ("#sidebar", {"transform": "none"})
17
18
assert-position: ("#page-wrapper", {"x": |content_indent|})
18
19
19
20
// We now hide the sidebar.
20
21
click: "#sidebar-toggle"
21
- wait-for: "body.sidebar-hidden"
22
- // `transform` is 0.3s so we need to wait a bit (0.5s) to ensure the animation is done.
23
- wait-for: 5000
24
- assert-css-false: ("#sidebar", {"transform": "none"})
25
- // The page content should now be on the left.
26
- assert-position: ("#page-wrapper", {"x": 0})
22
+ wait-for-css: ("#sidebar", {"display": "none"})
23
+ assert-local-storage: {|sidebar_storage_value|: |sidebar_storage_hidden_value|}
27
24
},
28
25
)
29
26
30
27
define-function: (
31
28
"show-sidebar",
32
29
[],
33
30
block {
34
- // The page content should be on the left and the sidebar "moved out".
35
- assert-css: ("#sidebar", {"transform": "matrix(1, 0, 0, 1, -308, 0)"})
31
+ assert-css: ("#sidebar", {"display": "none"})
36
32
assert-position: ("#page-wrapper", {"x": 0})
37
33
38
34
// We expand the sidebar.
39
35
click: "#sidebar-toggle"
40
- wait-for: "body. sidebar-visible"
36
+ wait-for-css-false: ("# sidebar", {"display": "none"})
41
37
// `transform` is 0.3s so we need to wait a bit (0.5s) to ensure the animation is done.
42
38
wait-for: 5000
43
39
assert-css-false: ("#sidebar", {"transform": "matrix(1, 0, 0, 1, -308, 0)"})
44
40
// The page content should be moved to the right.
45
41
assert-position: ("#page-wrapper", {"x": |content_indent|})
42
+ assert-local-storage: {|sidebar_storage_value|: |sidebar_storage_displayed_value|}
46
43
},
47
44
)
48
45
@@ -54,3 +51,13 @@ set-window-size: (900, 600)
54
51
reload:
55
52
call-function: ("show-sidebar", {})
56
53
call-function: ("hide-sidebar", {})
54
+
55
+ // We now test that if the sidebar is considered open and we reload the page, since
56
+ // the width is small, it will still be collapsed.
57
+ set-local-storage: {|sidebar_storage_value|: |sidebar_storage_displayed_value|}
58
+ reload:
59
+ // The stored value shouldn't have changed.
60
+ assert-local-storage: {|sidebar_storage_value|: |sidebar_storage_displayed_value|}
61
+ // But the sidebar should be hidden anyway.
62
+ assert-css: ("#sidebar", {"display": "none"})
63
+ assert-position: ("#page-wrapper", {"x": 0})
0 commit comments