From 2d6c2b2cd0eda9015dae82ed1a2bd8ff15c71631 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Tue, 14 Apr 2026 21:59:01 +0300 Subject: [PATCH] test(server): validate tesseract language codes --- apps/server/src/services/i18n.spec.ts | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/server/src/services/i18n.spec.ts b/apps/server/src/services/i18n.spec.ts index c57537d138..e9be7efc81 100644 --- a/apps/server/src/services/i18n.spec.ts +++ b/apps/server/src/services/i18n.spec.ts @@ -1,6 +1,8 @@ import { LOCALES } from "@triliumnext/commons"; import { readFileSync } from "fs"; import { join } from "path"; +// eslint-disable-next-line @typescript-eslint/no-require-imports +const { languages } = require("tesseract.js"); import { describe, expect, it } from "vitest"; describe("i18n", () => { @@ -16,4 +18,17 @@ describe("i18n", () => { .not.toThrow(); } }); + + it("all tesseractCode values are supported by Tesseract.js", () => { + const supportedCodes = new Set(Object.keys(languages).map((k) => k.toLowerCase())); + + for (const locale of LOCALES) { + if (!locale.tesseractCode) { + continue; + } + + expect(supportedCodes, `Locale '${locale.id}' has unsupported tesseractCode '${locale.tesseractCode}'`) + .toContain(locale.tesseractCode); + } + }); });