settings: Convert language picker to dropdown widget.

Fixes #35861.
This commit is contained in:
Vector73
2025-11-01 13:46:14 +00:00
committed by Tim Abbott
parent be18d71624
commit 5704abf8b4
16 changed files with 114 additions and 187 deletions

View File

@@ -354,12 +354,12 @@ async function test_alert_words_section(page: Page): Promise<void> {
}
async function change_language(page: Page, language_data_code: string): Promise<void> {
await page.waitForSelector("#user-preferences .language_selection_button", {
await page.waitForSelector("#default_language_widget", {
visible: true,
});
await page.click("#user-preferences .language_selection_button");
await common.wait_for_micromodal_to_open(page);
const language_selector = `a[data-code="${CSS.escape(language_data_code)}"]`;
await page.click("#default_language_widget");
await page.waitForSelector(".dropdown-list", {visible: true});
const language_selector = `li[data-unique-id="${CSS.escape(language_data_code)}"]`;
await page.click(language_selector);
}
@@ -370,15 +370,12 @@ async function check_language_setting_status(page: Page): Promise<void> {
}
async function assert_language_changed_to_chinese(page: Page): Promise<void> {
await page.waitForSelector("#user-preferences .language_selection_button", {
await page.waitForSelector("#default_language_widget", {
visible: true,
});
const default_language = await common.get_text_from_selector(
page,
"#user-preferences .language_selection_button",
);
const default_language = await common.get_text_from_selector(page, ".dropdown_widget_value");
assert.strictEqual(
default_language,
default_language.slice(0, 4),
"简体中文",
"Default language has not been changed to Chinese.",
);
@@ -401,7 +398,7 @@ async function test_default_language_setting(page: Page): Promise<void> {
// Check that the saved indicator appears
await check_language_setting_status(page);
await page.click(".reload_link");
await page.waitForSelector("#user-preferences .language_selection_button", {
await page.waitForSelector("#default_language_widget", {
visible: true,
});
await assert_language_changed_to_chinese(page);
@@ -420,7 +417,7 @@ async function test_default_language_setting(page: Page): Promise<void> {
await page.waitForSelector("#user-preferences .general-settings-status", {
visible: true,
});
await page.waitForSelector("#user-preferences .language_selection_button", {
await page.waitForSelector("#default_language_widget", {
visible: true,
});
}