aria-iuvo/test/locales.spec.ts
Naomi Carrigan 8b607244b1
Some checks failed
Node.js CI / Lint and Test (push) Has been cancelled
feat: add an about command (#2)
### Explanation

_No response_

### Issue

_No response_

### Attestations

- [x] I have read and agree to the [Code of Conduct](https://docs.nhcarrigan.com/community/coc/)
- [x] I have read and agree to the [Community Guidelines](https://docs.nhcarrigan.com/community/guide/).
- [x] My contribution complies with the [Contributor Covenant](https://docs.nhcarrigan.com/dev/covenant/).

### Dependencies

- [x] I have pinned the dependencies to a specific patch version.

### Style

- [x] I have run the linter and resolved any errors.
- [x] My pull request uses an appropriate title, matching the conventional commit standards.
- [x] My scope of feat/fix/chore/etc. correctly matches the nature of changes in my pull request.

### Tests

- [ ] My contribution adds new code, and I have added tests to cover it.
- [ ] My contribution modifies existing code, and I have updated the tests to reflect these changes.
- [x] All new and existing tests pass locally with my changes.
- [x] Code coverage remains at or above the configured threshold.

### Documentation

_No response_

### Versioning

Minor - My pull request introduces a new non-breaking feature.

Reviewed-on: #2
Co-authored-by: Naomi Carrigan <commits@nhcarrigan.com>
Co-committed-by: Naomi Carrigan <commits@nhcarrigan.com>
2025-02-10 15:43:06 -08:00

81 lines
1.2 KiB
TypeScript

/**
* @copyright nhcarrigan
* @license Naomi's Public License
* @author Naomi Carrigan
*/
import { describe, it, expect } from "vitest";
import { supportedLocales, mappedLocales } from "../src/config/locales.js";
const localesSupportedByLibretranslate = [
"ar",
"az",
"bg",
"bn",
"ca",
"cs",
"da",
"de",
"el",
"en",
"eo",
"es",
"et",
"eu",
"fa",
"fi",
"fr",
"ga",
"gl",
"he",
"hi",
"hu",
"id",
"it",
"ja",
"ko",
"lt",
"lv",
"ms",
"nb",
"nl",
"pl",
"pt",
"ro",
"ru",
"sk",
"sl",
"sq",
"sv",
"th",
"tl",
"tr",
"uk",
"ur",
"zh",
"zt",
];
describe("i18n locales", () => {
it.each(supportedLocales)(
"%s should be supported by libretranslate",
(lang) => {
expect.assertions(1);
expect(
localesSupportedByLibretranslate,
`${lang} is not supported by libretranslate`,
).toContain(lang);
},
);
it.each(Object.values(mappedLocales))(
"%s should be mapped to a supported locale",
(lang) => {
expect.assertions(1);
expect(supportedLocales, `${lang} is not supported by our app`).toContain(
lang,
);
},
);
});