mirror of https://github.com/ghostfolio/ghostfolio
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.3 KiB
40 lines
1.3 KiB
import { DEFAULT_LANGUAGE_CODE } from '@ghostfolio/common/config';
|
|
|
|
import {
|
|
getLanguageCodeFromHeader,
|
|
getSupportedLanguageCode
|
|
} from './language.helper';
|
|
|
|
describe('getLanguageCodeFromHeader', () => {
|
|
it('should get the primary language code', () => {
|
|
expect(getLanguageCodeFromHeader('de-CH,de;q=0.9,en;q=0.8')).toEqual('de');
|
|
});
|
|
|
|
it('should use the default language code if the header is missing', () => {
|
|
expect(getLanguageCodeFromHeader()).toEqual(DEFAULT_LANGUAGE_CODE);
|
|
});
|
|
|
|
it('should use the default language code if the language is not supported', () => {
|
|
expect(getLanguageCodeFromHeader('xx')).toEqual(DEFAULT_LANGUAGE_CODE);
|
|
});
|
|
});
|
|
|
|
describe('getSupportedLanguageCode', () => {
|
|
it('should return a supported language code', () => {
|
|
expect(getSupportedLanguageCode('de')).toEqual('de');
|
|
});
|
|
|
|
it('should ignore the region subtag', () => {
|
|
expect(getSupportedLanguageCode('de-CH')).toEqual('de');
|
|
});
|
|
|
|
it('should ignore the case', () => {
|
|
expect(getSupportedLanguageCode('DE')).toEqual('de');
|
|
});
|
|
|
|
it('should use the default language code if the language is not supported', () => {
|
|
expect(getSupportedLanguageCode()).toEqual(DEFAULT_LANGUAGE_CODE);
|
|
expect(getSupportedLanguageCode('')).toEqual(DEFAULT_LANGUAGE_CODE);
|
|
expect(getSupportedLanguageCode('xx')).toEqual(DEFAULT_LANGUAGE_CODE);
|
|
});
|
|
});
|
|
|