mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-09-01 12:27:41 +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;
|
const popup = await popupPromise;
|
||||||
expect(popup.url()).toBe("https://triliumnext.github.io/Docs/Wiki/search.html");
|
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 tabBar: Locator;
|
||||||
readonly noteTree: Locator;
|
readonly noteTree: Locator;
|
||||||
|
readonly noteTreeHoistedNote: Locator;
|
||||||
readonly launcherBar: Locator;
|
readonly launcherBar: Locator;
|
||||||
readonly currentNoteSplit: Locator;
|
readonly currentNoteSplit: Locator;
|
||||||
|
readonly currentNoteSplitTitle: Locator;
|
||||||
|
readonly currentNoteSplitContent: Locator;
|
||||||
readonly sidebar: Locator;
|
readonly sidebar: Locator;
|
||||||
|
|
||||||
constructor(page: Page, context: BrowserContext) {
|
constructor(page: Page, context: BrowserContext) {
|
||||||
@ -24,8 +27,11 @@ export default class App {
|
|||||||
|
|
||||||
this.tabBar = page.locator(".tab-row-widget-container");
|
this.tabBar = page.locator(".tab-row-widget-container");
|
||||||
this.noteTree = page.locator(".tree-wrapper");
|
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.launcherBar = page.locator("#launcher-container");
|
||||||
this.currentNoteSplit = page.locator(".note-split:not(.hidden-ext)");
|
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");
|
this.sidebar = page.locator("#right-pane");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,8 +14,10 @@ export default function renderDoc(note: FNote) {
|
|||||||
// fallback to english doc if no translation available
|
// fallback to english doc if no translation available
|
||||||
if (status === "error") {
|
if (status === "error") {
|
||||||
const fallbackUrl = getUrl(docName, "en");
|
const fallbackUrl = getUrl(docName, "en");
|
||||||
$content.load(fallbackUrl, () => processContent(fallbackUrl, $content));
|
$content.load(fallbackUrl, () => {
|
||||||
resolve($content);
|
processContent(fallbackUrl, $content)
|
||||||
|
resolve($content);
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user