Rollup merge of #127932 - notriddle:notriddle/current, r=GuillaumeGomez

rustdoc: fix `current` class on sidebar modnav

| Before | After |
| -- | -- |
| ![image](https://github.com/user-attachments/assets/35866be8-5a58-41eb-9169-b2bb403fe7cd) | ![image](https://github.com/user-attachments/assets/89b087ea-82bf-49f5-9c87-20162880eb32)
This commit is contained in:
Matthias Krüger 2024-07-19 10:48:06 +02:00 committed by GitHub
commit 1c665738de
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 3 deletions

View File

@ -529,11 +529,13 @@ function preLoadCss(cssUrl) {
}
const link = document.createElement("a");
link.href = path;
if (path === current_page) {
link.className = "current";
}
link.textContent = name;
const li = document.createElement("li");
// Don't "optimize" this to just use `path`.
// We want the browser to normalize this into an absolute URL.
if (link.href === current_page) {
li.classList.add("current");
}
li.appendChild(link);
ul.appendChild(li);
}

View File

@ -72,6 +72,7 @@ click: "#structs + .item-table .item-name > a"
assert-count: (".sidebar .sidebar-crate", 1)
assert-count: (".sidebar .location", 1)
assert-count: (".sidebar h2", 3)
assert-text: (".sidebar-elems ul.block > li.current > a", "Foo")
// We check that there is no crate listed outside of the top level.
assert-false: ".sidebar-elems > .crate"
@ -110,6 +111,7 @@ click: "#functions + .item-table .item-name > a"
assert-text: (".sidebar > .sidebar-crate > h2 > a", "lib2")
assert-count: (".sidebar .location", 0)
assert-count: (".sidebar h2", 1)
assert-text: (".sidebar-elems ul.block > li.current > a", "foobar")
// We check that we don't have the crate list.
assert-false: ".sidebar-elems > .crate"
@ -118,6 +120,7 @@ assert-property: (".sidebar", {"clientWidth": "200"})
assert-text: (".sidebar > .sidebar-crate > h2 > a", "lib2")
assert-text: (".sidebar > .location", "Module module")
assert-count: (".sidebar .location", 1)
assert-text: (".sidebar-elems ul.block > li.current > a", "module")
// Module page requires three headings:
// - Presistent crate branding (name and version)
// - Module name, followed by TOC for module headings
@ -138,6 +141,7 @@ assert-text: (".sidebar > .sidebar-elems > h2", "In lib2::module::sub_module")
assert-property: (".sidebar > .sidebar-elems > h2 > a", {
"href": "/module/sub_module/index.html",
}, ENDS_WITH)
assert-text: (".sidebar-elems ul.block > li.current > a", "sub_sub_module")
// We check that we don't have the crate list.
assert-false: ".sidebar-elems .crate"
assert-text: (".sidebar-elems > section ul > li:nth-child(1)", "Functions")