Rollup merge of #110037 - notriddle:notriddle/theme-default, r=GuillaumeGomez

rustdoc: add test and bug fix for theme defaults

Part of https://github.com/rust-lang/rust/issues/66181
This commit is contained in:
Nilstrieb 2023-04-08 10:26:14 +02:00 committed by GitHub
commit 370084860a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 0 deletions

View File

@ -153,6 +153,7 @@ const updateTheme = (function() {
if (getSettingValue("use-system-theme") !== "false") {
const lightTheme = getSettingValue("preferred-light-theme") || "light";
const darkTheme = getSettingValue("preferred-dark-theme") || "dark";
updateLocalStorage("use-system-theme", "true");
// use light theme if user prefers it, or has no preference
switchTheme(mql.matches ? darkTheme : lightTheme, true);

View File

@ -0,0 +1,24 @@
// Ensure that the theme picker always starts with the actual defaults.
goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
click: "#settings-menu"
wait-for: "#theme-system-preference"
assert: "#theme-system-preference:checked"
assert: "#preferred-light-theme-light:checked"
assert: "#preferred-dark-theme-dark:checked"
assert-false: "#preferred-dark-theme-ayu:checked"
// Test legacy migration from old theme setup without system-preference matching.
// See https://github.com/rust-lang/rust/pull/77809#issuecomment-707875732
local-storage: {
"rustdoc-preferred-light-theme": null,
"rustdoc-preferred-dark-theme": null,
"rustdoc-use-system-theme": null,
"rustdoc-theme": "ayu"
}
goto: "file://" + |DOC_PATH| + "/test_docs/index.html"
click: "#settings-menu"
wait-for: "#theme-system-preference"
assert: "#theme-system-preference:checked"
assert: "#preferred-light-theme-light:checked"
assert-false: "#preferred-dark-theme-dark:checked"
assert: "#preferred-dark-theme-ayu:checked"