about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume.gomez@huawei.com>2022-07-17 14:12:03 +0200
committerGuillaume Gomez <guillaume.gomez@huawei.com>2022-07-17 17:04:43 +0200
commit98bceb0d24a74ed9ff328b4879ada01fb0ba7581 (patch)
treeb7ddcde434083ccbb29378da3e9affc50a2914d5 /src/test
parent3024d399a2a72e5724650dbdd8bfa32642e99805 (diff)
downloadrust-98bceb0d24a74ed9ff328b4879ada01fb0ba7581.tar.gz
rust-98bceb0d24a74ed9ff328b4879ada01fb0ba7581.zip
Add GUI test for source code sidebar auto-expand
Diffstat (limited to 'src/test')
-rw-r--r--src/test/rustdoc-gui/sidebar-source-code.goml22
-rw-r--r--src/test/rustdoc-gui/src/lib2/another_folder/mod.rs3
-rw-r--r--src/test/rustdoc-gui/src/lib2/another_folder/sub_mod/mod.rs1
-rw-r--r--src/test/rustdoc-gui/src/lib2/another_mod/mod.rs1
-rw-r--r--src/test/rustdoc-gui/src/lib2/lib.rs3
5 files changed, 25 insertions, 5 deletions
diff --git a/src/test/rustdoc-gui/sidebar-source-code.goml b/src/test/rustdoc-gui/sidebar-source-code.goml
index 86df478fa1d..e882080c7da 100644
--- a/src/test/rustdoc-gui/sidebar-source-code.goml
+++ b/src/test/rustdoc-gui/sidebar-source-code.goml
@@ -16,15 +16,27 @@ click: (10, 10)
 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)
-// We check that the sidebar has the expected width (0).
-assert-css: ("nav.sidebar", {"width": "0px"})
-// We expand the sidebar.
-click: "#sidebar-toggle"
-assert-css: (".source-sidebar-expanded nav.sidebar", {"width": "600px"})
+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"
diff --git a/src/test/rustdoc-gui/src/lib2/another_folder/mod.rs b/src/test/rustdoc-gui/src/lib2/another_folder/mod.rs
new file mode 100644
index 00000000000..ec9a2085924
--- /dev/null
+++ b/src/test/rustdoc-gui/src/lib2/another_folder/mod.rs
@@ -0,0 +1,3 @@
+pub fn another_fn() {}
+
+pub mod sub_mod;
diff --git a/src/test/rustdoc-gui/src/lib2/another_folder/sub_mod/mod.rs b/src/test/rustdoc-gui/src/lib2/another_folder/sub_mod/mod.rs
new file mode 100644
index 00000000000..f16722cf35b
--- /dev/null
+++ b/src/test/rustdoc-gui/src/lib2/another_folder/sub_mod/mod.rs
@@ -0,0 +1 @@
+pub fn subsubsub() {}
diff --git a/src/test/rustdoc-gui/src/lib2/another_mod/mod.rs b/src/test/rustdoc-gui/src/lib2/another_mod/mod.rs
new file mode 100644
index 00000000000..9a4f007a2f0
--- /dev/null
+++ b/src/test/rustdoc-gui/src/lib2/another_mod/mod.rs
@@ -0,0 +1 @@
+pub fn tadam() {}
diff --git a/src/test/rustdoc-gui/src/lib2/lib.rs b/src/test/rustdoc-gui/src/lib2/lib.rs
index d06b46f952d..4546449e102 100644
--- a/src/test/rustdoc-gui/src/lib2/lib.rs
+++ b/src/test/rustdoc-gui/src/lib2/lib.rs
@@ -2,6 +2,9 @@
 
 #![feature(doc_cfg)]
 
+pub mod another_folder;
+pub mod another_mod;
+
 pub mod module {
     pub mod sub_module {
         pub mod sub_sub_module {