45 lines
1012 B
TypeScript
45 lines
1012 B
TypeScript
import { describe, expect, it } from 'vitest';
|
|
|
|
import i18n from 'i18next';
|
|
|
|
import { buildAcceptLanguage } from '../legalApi';
|
|
|
|
describe('legalApi.buildAcceptLanguage', () => {
|
|
function setLang(lang: string) {
|
|
Object.defineProperty(i18n, 'language', {
|
|
value: lang,
|
|
configurable: true,
|
|
});
|
|
}
|
|
|
|
it('非中文语言回退为 en', () => {
|
|
setLang('en');
|
|
expect(buildAcceptLanguage()).toBe('en');
|
|
|
|
setLang('es');
|
|
expect(buildAcceptLanguage()).toBe('en');
|
|
});
|
|
|
|
it('简中/其他中文不支持时回退为 en', () => {
|
|
setLang('zh-CN');
|
|
expect(buildAcceptLanguage()).toBe('en');
|
|
|
|
setLang('zh');
|
|
expect(buildAcceptLanguage()).toBe('en');
|
|
});
|
|
|
|
it('繁体中文归一为 tc', () => {
|
|
setLang('zh-TW');
|
|
expect(buildAcceptLanguage()).toBe('tc');
|
|
});
|
|
|
|
it('显式 tc / hant 等归一为 tc', () => {
|
|
setLang('tc');
|
|
expect(buildAcceptLanguage()).toBe('tc');
|
|
|
|
setLang('zh-Hant');
|
|
expect(buildAcceptLanguage()).toBe('tc');
|
|
});
|
|
});
|
|
|