test(server): validate tesseract language codes

This commit is contained in:
Elian Doran
2026-04-14 21:59:01 +03:00
parent 6b6573bf02
commit 2d6c2b2cd0

View File

@@ -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);
}
});
});