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