mirror of
https://github.com/zadam/trilium.git
synced 2025-12-02 05:24:23 +01:00
Some checks are pending
Checks / main (push) Waiting to run
CodeQL Advanced / Analyze (actions) (push) Waiting to run
CodeQL Advanced / Analyze (javascript-typescript) (push) Waiting to run
Deploy Documentation / Build and Deploy Documentation (push) Waiting to run
Dev / Test development (push) Waiting to run
Dev / Build Docker image (push) Blocked by required conditions
Dev / Check Docker build (Dockerfile) (push) Blocked by required conditions
Dev / Check Docker build (Dockerfile.alpine) (push) Blocked by required conditions
/ Check Docker build (Dockerfile) (push) Waiting to run
/ Check Docker build (Dockerfile.alpine) (push) Waiting to run
/ Build Docker images (Dockerfile, ubuntu-24.04-arm, linux/arm64) (push) Blocked by required conditions
/ Build Docker images (Dockerfile.alpine, ubuntu-latest, linux/amd64) (push) Blocked by required conditions
/ Build Docker images (Dockerfile.legacy, ubuntu-24.04-arm, linux/arm/v7) (push) Blocked by required conditions
/ Build Docker images (Dockerfile.legacy, ubuntu-24.04-arm, linux/arm/v8) (push) Blocked by required conditions
/ Merge manifest lists (push) Blocked by required conditions
playwright / E2E tests on linux-arm64 (push) Waiting to run
playwright / E2E tests on linux-x64 (push) Waiting to run
61 lines
2.5 KiB
TypeScript
61 lines
2.5 KiB
TypeScript
import { test, expect, Page } from "@playwright/test";
|
|
import App from "./support/app";
|
|
|
|
test.afterEach(async ({ page, context }) => {
|
|
const app = new App(page, context);
|
|
// Ensure English is set after each locale change to avoid any leaks to other tests.
|
|
await app.setOption("locale", "en");
|
|
});
|
|
|
|
test("Displays translation on desktop", async ({ page, context }) => {
|
|
const app = new App(page, context);
|
|
await app.goto();
|
|
|
|
await expect(page.locator("#left-pane .quick-search input")).toHaveAttribute("placeholder", "Quick search");
|
|
});
|
|
|
|
test("Displays translation on mobile", async ({ page, context }) => {
|
|
const app = new App(page, context);
|
|
await app.goto({ isMobile: true });
|
|
|
|
await expect(page.locator("#mobile-sidebar-wrapper .quick-search input")).toHaveAttribute("placeholder", "Quick search");
|
|
});
|
|
|
|
test("Displays translations in Settings", async ({ page, context }) => {
|
|
const app = new App(page, context);
|
|
await app.goto();
|
|
await app.closeAllTabs();
|
|
await app.goToSettings();
|
|
await app.noteTree.getByText("Language & Region").click();
|
|
|
|
await expect(app.currentNoteSplit).toContainText("Localization");
|
|
await expect(app.currentNoteSplit).toContainText("Language");
|
|
});
|
|
|
|
test("User can change language from settings", async ({ page, context }) => {
|
|
const app = new App(page, context);
|
|
await app.goto();
|
|
|
|
await app.closeAllTabs();
|
|
await app.goToSettings();
|
|
await app.noteTree.getByText("Language & Region").click();
|
|
|
|
// Check that the default value (English) is set.
|
|
await expect(app.currentNoteSplit).toContainText("First day of the week");
|
|
const languageCombobox = app.dropdown(app.currentNoteSplit.locator(".options-section .dropdown").first());
|
|
await expect(languageCombobox).toContainText("English (United States)");
|
|
|
|
// Select Chinese and ensure the translation is set.
|
|
await languageCombobox.selectOptionByText("简体中文");
|
|
await app.currentNoteSplit.locator("button[name=restart-app-button]").click();
|
|
|
|
await expect(app.currentNoteSplit).toContainText("一周的第一天", { timeout: 15000 });
|
|
await expect(languageCombobox).toContainText("简体中文");
|
|
|
|
// Select English again.
|
|
await languageCombobox.selectOptionByText("English (United States)");
|
|
await app.currentNoteSplit.locator("button[name=restart-app-button]").click();
|
|
await expect(app.currentNoteSplit).toContainText("Language", { timeout: 15000 });
|
|
await expect(languageCombobox).toContainText("English (United States)");
|
|
});
|