@@ -7,42 +7,39 @@ set-window-size: (1100, 600)
77reload:
88
99store-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")
1013
1114define-function: (
1215 "hide-sidebar",
1316 [],
1417 block {
15- // The content should be "moved" to the right because of the sidebar.
16- assert-css: ("#sidebar", {"transform": "none"})
1718 assert-position: ("#page-wrapper", {"x": |content_indent|})
1819
1920 // We now hide the sidebar.
2021 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|}
2724 },
2825)
2926
3027define-function: (
3128 "show-sidebar",
3229 [],
3330 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"})
3632 assert-position: ("#page-wrapper", {"x": 0})
3733
3834 // We expand the sidebar.
3935 click: "#sidebar-toggle"
40- wait-for: "body. sidebar-visible"
36+ wait-for-css-false: ("# sidebar", {"display": "none"})
4137 // `transform` is 0.3s so we need to wait a bit (0.5s) to ensure the animation is done.
4238 wait-for: 5000
4339 assert-css-false: ("#sidebar", {"transform": "matrix(1, 0, 0, 1, -308, 0)"})
4440 // The page content should be moved to the right.
4541 assert-position: ("#page-wrapper", {"x": |content_indent|})
42+ assert-local-storage: {|sidebar_storage_value|: |sidebar_storage_displayed_value|}
4643 },
4744)
4845
@@ -54,3 +51,13 @@ set-window-size: (900, 600)
5451reload:
5552call-function: ("show-sidebar", {})
5653call-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