UNPKG

@inlang/paraglide-js

Version:

[![NPM Downloads](https://img.shields.io/npm/dw/%40inlang%2Fparaglide-js?logo=npm&logoColor=red&label=npm%20downloads)](https://www.npmjs.com/package/@inlang/paraglide-js) [![GitHub Issues](https://img.shields.io/github/issues-closed/opral/paraglide-js?lo

54 lines 1.74 kB
import { newProject } from "@inlang/sdk"; import { expect, test } from "vitest"; import { createParaglide } from "../create-paraglide.js"; test("returns the preferred locale from navigator.languages", async () => { const originalNavigator = globalThis.navigator; const runtime = await createParaglide({ blob: await newProject({ settings: { baseLocale: "en", locales: ["en", "fr", "de"], }, }), isServer: "false", strategy: ["preferredLanguage"], }); // Mock navigator.languages Object.defineProperty(globalThis, "navigator", { value: { languages: ["fr-FR", "en-US", "de"], }, configurable: true, }); expect(runtime.getLocale()).toBe("fr"); // Restore original navigator Object.defineProperty(globalThis, "navigator", { value: originalNavigator, configurable: true, }); }); test("canonicalizes navigator locale casing", async () => { const originalNavigator = globalThis.navigator; const runtime = await createParaglide({ blob: await newProject({ settings: { baseLocale: "en", locales: ["en", "pt-BR"], }, }), isServer: "false", strategy: ["preferredLanguage"], }); Object.defineProperty(globalThis, "navigator", { value: { languages: ["pt-br", "en-US"], }, configurable: true, }); expect(runtime.getLocale()).toBe("pt-BR"); Object.defineProperty(globalThis, "navigator", { value: originalNavigator, configurable: true, }); }); //# sourceMappingURL=extract-locale-from-navigator.test.js.map