From 7dfa0687595e207e308994dd1d84b6c1ba8fad78 Mon Sep 17 00:00:00 2001 From: Maksim Sinelnikov Date: Wed, 25 Sep 2024 14:39:14 +0500 Subject: [PATCH] add cyrillyc tests without Intl rules --- src/core/prelude/i18n/spec.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/core/prelude/i18n/spec.ts b/src/core/prelude/i18n/spec.ts index 0aeeefb24..69cd3b5cb 100644 --- a/src/core/prelude/i18n/spec.ts +++ b/src/core/prelude/i18n/spec.ts @@ -94,7 +94,7 @@ describe('core/prelude/i18n', () => { }); describe('pluralization for cyrillic language', () => { - it('russian language', () => { + it('russian language with Intl', () => { const cyrillicRules = new Intl.PluralRules('ru'), forms = { @@ -110,5 +110,21 @@ describe('core/prelude/i18n', () => { expect(resolveTemplate(forms, {count: 12}, {pluralRules: cyrillicRules})).toBe('12 яблок'); expect(resolveTemplate(forms, {count: 22}, {pluralRules: cyrillicRules})).toBe('22 яблока'); }); + + it('russian language without Intl', () => { + const + forms = { + one: '{count} яблоко', + few: '{count} яблока', + many: '{count} яблок', + zero: '{count} яблок' + }; + + expect(resolveTemplate(forms, {count: 1})).toBe('1 яблоко'); + expect(resolveTemplate(forms, {count: 2})).toBe('2 яблока'); + expect(resolveTemplate(forms, {count: 0})).toBe('0 яблок'); + expect(resolveTemplate(forms, {count: 12})).toBe('12 яблок'); + expect(resolveTemplate(forms, {count: 22})).toBe('22 яблок'); + }); }); });