diff options
Diffstat (limited to 'src/test/rustdoc-gui/sidebar-source-code.goml')
-rw-r--r-- | src/test/rustdoc-gui/sidebar-source-code.goml | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/test/rustdoc-gui/sidebar-source-code.goml b/src/test/rustdoc-gui/sidebar-source-code.goml new file mode 100644 index 000000000..e882080c7 --- /dev/null +++ b/src/test/rustdoc-gui/sidebar-source-code.goml @@ -0,0 +1,45 @@ +// The goal of this test is to ensure that the sidebar is working as expected in the source +// code pages. +goto: file://|DOC_PATH|/src/test_docs/lib.rs.html +// First: desktop mode. +size: (1100, 800) +// We check that the sidebar isn't expanded and has the expected width. +assert-css: ("nav.sidebar", {"width": "50px"}) +// We now click on the button to expand the sidebar. +click: (10, 10) +// We wait for the sidebar to be expanded. +wait-for-css: (".source-sidebar-expanded nav.sidebar", {"width": "300px"}) +assert-css: (".source-sidebar-expanded nav.sidebar a", {"font-size": "14px"}) +// We collapse the sidebar. +click: (10, 10) +// We ensure that the class has been removed. +wait-for: "html:not(.expanded)" +assert: "nav.sidebar" + +// Checking that only the path to the current file is "open". +goto: file://|DOC_PATH|/src/lib2/another_folder/sub_mod/mod.rs.html +// First we expand the sidebar again. +click: (10, 10) +// We wait for the sidebar to be expanded. +wait-for-css: (".source-sidebar-expanded nav.sidebar", {"width": "300px"}) +assert: "//*[@class='dir-entry' and @open]/*[text()='lib2']" +assert: "//*[@class='dir-entry' and @open]/*[text()='another_folder']" +assert: "//*[@class='dir-entry' and @open]/*[text()='sub_mod']" +// Only "another_folder" should be "open" in "lib2". +assert: "//*[@class='dir-entry' and not(@open)]/*[text()='another_mod']" +// All other trees should be collapsed. +assert-count: ("//*[@id='source-sidebar']/details[not(text()='lib2') and not(@open)]", 5) + +// We now switch to mobile mode. +size: (600, 600) +wait-for-css: (".source-sidebar-expanded nav.sidebar", {"width": "600px"}) +// We collapse the sidebar. +click: (10, 10) +// We check that the sidebar has the expected width (0). +assert-css: ("nav.sidebar", {"width": "0px"}) +// We ensure that the class has been removed. +assert-false: ".source-sidebar-expanded" +assert: "nav.sidebar" + +// Check that the topbar is not visible +assert-property: (".mobile-topbar", {"offsetParent": "null"}) |