Match multiple locales for spellchecker
This commit is contained in:
parent
2edc47118e
commit
a4055cec40
5 changed files with 72 additions and 31 deletions
|
@ -8,34 +8,48 @@ import { getLanguages } from '../../../app/spell_check';
|
|||
describe('SpellCheck', () => {
|
||||
describe('getLanguages', () => {
|
||||
it('works with locale and base available', () => {
|
||||
assert.deepEqual(getLanguages('en-US', ['en-US', 'en-CA', 'en']), [
|
||||
assert.deepEqual(getLanguages(['en-US'], ['en-US', 'en'], 'en'), [
|
||||
'en-US',
|
||||
]);
|
||||
});
|
||||
|
||||
it('works with neither locale nor base available', () => {
|
||||
assert.deepEqual(getLanguages('en-US', ['en-NZ', 'en-CA']), [
|
||||
'en-NZ',
|
||||
'en-CA',
|
||||
it('uses icu likely subtags rules to match languages', () => {
|
||||
assert.deepEqual(getLanguages(['fa-FR'], ['fa-IR'], 'en'), ['fa-IR']);
|
||||
assert.deepEqual(getLanguages(['zh'], ['zh-Hans-CN'], 'en'), [
|
||||
'zh-Hans-CN',
|
||||
]);
|
||||
assert.deepEqual(
|
||||
getLanguages(['zh-HK'], ['zh-Hans-CN', 'zh-Hant-HK'], 'en'),
|
||||
['zh-Hant-HK']
|
||||
);
|
||||
});
|
||||
|
||||
it('matches multiple locales', () => {
|
||||
assert.deepEqual(
|
||||
getLanguages(['fr-FR', 'es'], ['fr', 'es-ES', 'en-US'], 'en'),
|
||||
['fr', 'es-ES']
|
||||
);
|
||||
});
|
||||
|
||||
it('works with only base locale available', () => {
|
||||
assert.deepEqual(getLanguages('en-US', ['en', 'en-CA']), ['en', 'en-CA']);
|
||||
assert.deepEqual(getLanguages(['en-US'], ['en'], 'en'), ['en']);
|
||||
});
|
||||
|
||||
it('works with only full locale available', () => {
|
||||
assert.deepEqual(getLanguages('en-US', ['en-CA', 'en-US']), ['en-US']);
|
||||
assert.deepEqual(getLanguages(['en-US'], ['en-CA', 'en-US'], 'en'), [
|
||||
'en-US',
|
||||
]);
|
||||
});
|
||||
|
||||
it('works with base provided and base available', () => {
|
||||
assert.deepEqual(getLanguages('en', ['en-CA', 'en-US', 'en']), ['en']);
|
||||
assert.deepEqual(getLanguages(['en'], ['en-CA', 'en-US', 'en'], 'en'), [
|
||||
'en',
|
||||
]);
|
||||
});
|
||||
|
||||
it('works with base provided and base not available', () => {
|
||||
assert.deepEqual(getLanguages('en', ['en-CA', 'en-US']), [
|
||||
'en-CA',
|
||||
'en-US',
|
||||
it('falls back to default', () => {
|
||||
assert.deepEqual(getLanguages(['fa-IR'], ['es-ES', 'fr-FR'], 'en'), [
|
||||
'en',
|
||||
]);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue