mirror of
https://github.com/luckyyzh/pi-agent-integrated.git
synced 2026-10-03 02:59:35 +00:00
feat: integrate Pi backend and Pi Web
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
import assert from "node:assert/strict";
|
||||
import test from "node:test";
|
||||
|
||||
import {
|
||||
getLocalePlugin,
|
||||
getSupportedLocales,
|
||||
registerLocale,
|
||||
resolveBrowserLocale,
|
||||
} from "./registry.ts";
|
||||
|
||||
test("uses the first supported browser language and falls back to English", () => {
|
||||
assert.equal(resolveBrowserLocale(["zh-CN", "en-US"]), "zh-CN");
|
||||
assert.equal(resolveBrowserLocale(["zh", "en-US"]), "zh-CN");
|
||||
assert.equal(resolveBrowserLocale(["en-US", "zh-CN"]), "en");
|
||||
assert.equal(resolveBrowserLocale(["fr-FR", "zh-CN"]), "zh-CN");
|
||||
assert.equal(resolveBrowserLocale(["fr-FR"]), "en");
|
||||
assert.equal(resolveBrowserLocale([]), "en");
|
||||
});
|
||||
|
||||
test("returns only registered locales", () => {
|
||||
assert.deepEqual(getSupportedLocales(), ["en", "zh-CN"]);
|
||||
assert.equal(getLocalePlugin("en").id, "en");
|
||||
assert.equal(getLocalePlugin("missing"), undefined);
|
||||
});
|
||||
|
||||
test("allows a new locale plugin and rejects duplicate ids", () => {
|
||||
registerLocale({ id: "test", label: "Test", messages: { "common.ok": "OK" } });
|
||||
assert.equal(getLocalePlugin("test")?.label, "Test");
|
||||
assert.throws(() => registerLocale({ id: "test", label: "Again", messages: {} }));
|
||||
});
|
||||
Reference in New Issue
Block a user