@@ -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