mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-08-31 19:51:36 +08:00
fix(in-app-help): help not rendering in other languages (fixes #1600)
This commit is contained in:
parent
ea2de4e4f3
commit
db66d86bc2
@ -25,3 +25,40 @@ test("Complete help in search", async ({ page, context }) => {
|
||||
const popup = await popupPromise;
|
||||
expect(popup.url()).toBe("https://triliumnext.github.io/Docs/Wiki/search.html");
|
||||
});
|
||||
|
||||
test("In-app-help works in English", async ({ page, context }) => {
|
||||
const app = new App(page, context);
|
||||
await app.goto();
|
||||
|
||||
await app.currentNoteSplit.press("F1");
|
||||
const title = "User Guide";
|
||||
await expect(app.noteTreeHoistedNote).toContainText(title);
|
||||
await expect(app.currentNoteSplitTitle).toHaveValue(title);
|
||||
|
||||
app.noteTree.getByText("Troubleshooting").click();
|
||||
await expect(app.currentNoteSplitTitle).toHaveValue("Troubleshooting");
|
||||
await app.currentNoteSplitContent.locator("p").first().waitFor({ state: "visible" });
|
||||
expect(await app.currentNoteSplitContent.locator("p").count()).toBeGreaterThan(10);
|
||||
});
|
||||
|
||||
test("In-app-help works in other languages", async ({ page, context }) => {
|
||||
const app = new App(page, context);
|
||||
try {
|
||||
await app.goto();
|
||||
await app.setOption("locale", "cn");
|
||||
await app.goto();
|
||||
|
||||
await app.currentNoteSplit.press("F1");
|
||||
const title = "用户指南";
|
||||
await expect(app.noteTreeHoistedNote).toContainText(title);
|
||||
await expect(app.currentNoteSplitTitle).toHaveValue(title);
|
||||
|
||||
app.noteTree.getByText("Troubleshooting").click();
|
||||
await expect(app.currentNoteSplitTitle).toHaveValue("Troubleshooting");
|
||||
await app.currentNoteSplitContent.locator("p").first().waitFor({ state: "visible" });
|
||||
expect(await app.currentNoteSplitContent.locator("p").count()).toBeGreaterThan(10);
|
||||
} finally {
|
||||
// Ensure English is set after each locale change to avoid any leaks to other tests.
|
||||
await app.setOption("locale", "en");
|
||||
}
|
||||
});
|
||||
|
@ -14,8 +14,11 @@ export default class App {
|
||||
|
||||
readonly tabBar: Locator;
|
||||
readonly noteTree: Locator;
|
||||
readonly noteTreeHoistedNote: Locator;
|
||||
readonly launcherBar: Locator;
|
||||
readonly currentNoteSplit: Locator;
|
||||
readonly currentNoteSplitTitle: Locator;
|
||||
readonly currentNoteSplitContent: Locator;
|
||||
readonly sidebar: Locator;
|
||||
|
||||
constructor(page: Page, context: BrowserContext) {
|
||||
@ -24,8 +27,11 @@ export default class App {
|
||||
|
||||
this.tabBar = page.locator(".tab-row-widget-container");
|
||||
this.noteTree = page.locator(".tree-wrapper");
|
||||
this.noteTreeHoistedNote = this.noteTree.locator(".fancytree-node", { has: page.locator(".unhoist-button") });
|
||||
this.launcherBar = page.locator("#launcher-container");
|
||||
this.currentNoteSplit = page.locator(".note-split:not(.hidden-ext)");
|
||||
this.currentNoteSplitTitle = this.currentNoteSplit.locator(".note-title");
|
||||
this.currentNoteSplitContent = this.currentNoteSplit.locator(".note-detail-printable.visible");
|
||||
this.sidebar = page.locator("#right-pane");
|
||||
}
|
||||
|
||||
|
@ -14,8 +14,10 @@ export default function renderDoc(note: FNote) {
|
||||
// fallback to english doc if no translation available
|
||||
if (status === "error") {
|
||||
const fallbackUrl = getUrl(docName, "en");
|
||||
$content.load(fallbackUrl, () => processContent(fallbackUrl, $content));
|
||||
resolve($content);
|
||||
$content.load(fallbackUrl, () => {
|
||||
processContent(fallbackUrl, $content)
|
||||
resolve($content);
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user