Skip to content

Commit

Permalink
Rollup merge of #91905 - GuillaumeGomez:source-code-page-sidebar, r=jsha
Browse files Browse the repository at this point in the history
  • Loading branch information
matthiaskrgr authored Dec 15, 2021
2 parents 6b00227 + 0919d00 commit 6132a2b
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 2 deletions.
12 changes: 10 additions & 2 deletions src/librustdoc/html/static/css/rustdoc.css
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,6 @@ nav.sub {

.source .sidebar.expanded {
overflow-y: auto;
width: 300px;
}

.source .sidebar.expanded > * {
Expand Down Expand Up @@ -1394,7 +1393,7 @@ pre.rust {
z-index: 10;
}
#source-sidebar {
width: 300px;
width: 100%;
z-index: 1;
overflow: auto;
}
Expand Down Expand Up @@ -1711,6 +1710,10 @@ details.rustdoc-toggle[open] > summary.hideme::after {
.rustdoc.source .sidebar {
transition: width .5s;
}

.source .sidebar.expanded {
width: 300px;
}
}

@media (max-width: 700px) {
Expand Down Expand Up @@ -1999,6 +2002,11 @@ details.rustdoc-toggle[open] > summary.hideme::after {
.search-results div.desc, .search-results .result-description, .item-right {
padding-left: 2em;
}

.source .sidebar.expanded {
max-width: 100vw;
width: 100vw;
}
}

@media print {
Expand Down
32 changes: 32 additions & 0 deletions src/test/rustdoc-gui/sidebar-source-code.goml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// 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 (there is a 0.5s animation).
wait-for: 600
assert-css: ("nav.sidebar.expanded", {"width": "300px"})
// We collapse the sidebar.
click: (10, 10)
// We wait for the sidebar to be collapsed (there is a 0.5s animation).
wait-for: 600
// We ensure that the class has been removed.
assert-false: "nav.sidebar.expanded"
assert: "nav.sidebar"

// We now switch to mobile mode.
size: (600, 600)
// We check that the sidebar has the expected width (0 and 1px for the border).
assert-css: ("nav.sidebar", {"width": "1px"})
// We expand the sidebar.
click: "#sidebar-toggle"
assert-css: ("nav.sidebar.expanded", {"width": "600px"})
// We collapse the sidebar.
click: (10, 10)
// We ensure that the class has been removed.
assert-false: "nav.sidebar.expanded"
assert: "nav.sidebar"

0 comments on commit 6132a2b

Please sign in to comment.