import { describe, test, assert } from "vitest"; import { process_langs } from "./i18n"; import languagesByAnyCode from "wikidata-lang/indexes/by_any_code"; import BCP47 from "./lang/BCP47_codes"; describe("i18n", () => { test("languages are loaded correctly", () => { const langs = process_langs(); assert.ok(langs.en); assert.ok(langs.en.common); }); test("language codes follow the correct format", () => { const langs = Object.entries(process_langs()); langs.forEach(([code, translation]) => { const BCP47_REGEX = /^.{2}-.{2}$/; if (BCP47_REGEX.test(code)) { assert.ok(BCP47.includes(code)); } else { assert.exists(languagesByAnyCode[code]); } assert.ok(translation.common); }); }); });