diff --git a/projects/addon-doc/src/utils/transliterate-keyboard-layout.ts b/projects/addon-doc/src/utils/transliterate-keyboard-layout.ts index ba276449dc23..a69f20585ca8 100644 --- a/projects/addon-doc/src/utils/transliterate-keyboard-layout.ts +++ b/projects/addon-doc/src/utils/transliterate-keyboard-layout.ts @@ -34,9 +34,9 @@ const MAP: Record = { }; /** - * Транслитирует текст, ошибочно набранный в русской раскладке, в английскую - * @param string строка с символами русской раскладки - * @return строка с символами английской раскладки + * Translates text mistakenly typed in the Russian layout into English + * @param string string with Russian layout characters + * @return string with English layout characters */ export function transliterateKeyboardLayout(string: string): string { let newStr = ''; diff --git a/projects/addon-editor/components/edit-link/edit-link.template.html b/projects/addon-editor/components/edit-link/edit-link.template.html index b7e2b667e9fb..83356d7c7707 100644 --- a/projects/addon-editor/components/edit-link/edit-link.template.html +++ b/projects/addon-editor/components/edit-link/edit-link.template.html @@ -26,7 +26,7 @@ tuiIconButton type="button" size="s" - title="Вставить ссылку" + title="Insert link" icon="tuiIconCheckCircleLarge" class="button" shape="rounded" @@ -40,7 +40,7 @@ tuiIconButton type="button" size="s" - title="Изменить ссылку" + title="Change link" icon="tuiIconEditLarge" class="button" shape="rounded" @@ -51,7 +51,7 @@ tuiIconButton type="button" size="s" - title="Удалить ссылку" + title="Remove link" icon="tuiIconTrashLarge" class="button" shape="rounded" diff --git a/projects/addon-editor/components/toolbar/toolbar.component.ts b/projects/addon-editor/components/toolbar/toolbar.component.ts index 92ddcba01566..0af53e98caaf 100644 --- a/projects/addon-editor/components/toolbar/toolbar.component.ts +++ b/projects/addon-editor/components/toolbar/toolbar.component.ts @@ -93,34 +93,34 @@ export class TuiToolbarComponent { { size: '2', px: 13, - name: 'Небольшой', + name: 'Small', }, { size: '3', px: 15, - name: 'Обычный', + name: 'Normal', }, { size: '4', px: 17, - name: 'Крупный', + name: 'Large', }, { size: '5', px: 24, family: 'var(--tui-font-heading)', - name: 'Подзаголовок', + name: 'Subtitle', }, { size: '6', px: 30, family: 'var(--tui-font-heading)', - name: 'Заголовок', + name: 'Title', }, ]; // TODO: i18n - readonly codesOptions: readonly string[] = ['Код в тексте', 'Код в блоке']; + readonly codesOptions: readonly string[] = ['Code in the text', 'Code in block']; @ViewChildren('button') private readonly buttons: QueryList = EMPTY_QUERY; diff --git a/projects/addon-editor/components/toolbar/toolbar.template.html b/projects/addon-editor/components/toolbar/toolbar.template.html index 775b9219a04c..db2742cdb695 100644 --- a/projects/addon-editor/components/toolbar/toolbar.template.html +++ b/projects/addon-editor/components/toolbar/toolbar.template.html @@ -457,7 +457,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Текст" + tuiHint="Color: Текст" appearance="icon" shape="rounded" class="color color_text" @@ -468,7 +468,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Белый" + tuiHint="Color: Белый" appearance="icon" shape="rounded" class="color color_white" @@ -479,7 +479,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Primary" + tuiHint="Color: Primary" appearance="icon" shape="rounded" class="color color_primary" @@ -492,7 +492,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Pinkie" + tuiHint="Color: Pinkie" appearance="icon" shape="rounded" class="color color_pinkie" @@ -503,7 +503,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Amethyst" + tuiHint="Color: Amethyst" appearance="icon" shape="rounded" class="color color_amethyst" @@ -514,7 +514,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Helio" + tuiHint="Color: Helio" appearance="icon" shape="rounded" class="color color_helio" @@ -527,7 +527,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Picton" + tuiHint="Color: Picton" appearance="icon" shape="rounded" class="color color_picton" @@ -538,7 +538,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Puerto Rico" + tuiHint="Color: Puerto Rico" appearance="icon" shape="rounded" class="color color_puertorico" @@ -549,7 +549,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Feijoa" + tuiHint="Color: Feijoa" appearance="icon" shape="rounded" class="color color_feijoa" @@ -597,7 +597,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Прозрачный" + tuiHint="Color: Transparent" icon="tuiIconTransparentLarge" shape="rounded" appearance="icon" @@ -609,7 +609,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Primary" + tuiHint="Color: Primary" appearance="icon" shape="rounded" class="color color_primary" @@ -620,7 +620,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Tan" + tuiHint="Color: Tan" appearance="icon" shape="rounded" class="color color_tan" @@ -633,7 +633,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Pinkie" + tuiHint="Color: Pinkie" appearance="icon" shape="rounded" class="color color_pinkie" @@ -644,7 +644,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Amethyst" + tuiHint="Color: Amethyst" appearance="icon" shape="rounded" class="color color_amethyst" @@ -655,7 +655,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Helio" + tuiHint="Color: Helio" appearance="icon" shape="rounded" class="color color_helio" @@ -668,7 +668,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Picton" + tuiHint="Color: Picton" appearance="icon" shape="rounded" class="color color_picton" @@ -679,7 +679,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Puerto Rico" + tuiHint="Color: Puerto Rico" appearance="icon" shape="rounded" class="color color_puertorico" @@ -690,7 +690,7 @@ tuiIconButton type="button" size="xs" - tuiHint="Цвет: Feijoa" + tuiHint="Color: Feijoa" appearance="icon" shape="rounded" class="color color_feijoa" diff --git a/projects/addon-editor/directives/design-mode/test/design-mode.directive.spec.ts b/projects/addon-editor/directives/design-mode/test/design-mode.directive.spec.ts index 4f701d162c1f..71e2e5059250 100644 --- a/projects/addon-editor/directives/design-mode/test/design-mode.directive.spec.ts +++ b/projects/addon-editor/directives/design-mode/test/design-mode.directive.spec.ts @@ -34,7 +34,7 @@ describe('TuiDesignMode directive', () => { }); // TODO: Understand why this doesn't work - xit('работает туда', () => { + xit('works there', () => { const documentRef = contentDocument(); if (documentRef) { @@ -47,7 +47,7 @@ describe('TuiDesignMode directive', () => { expect(testComponent.model).toBe(html); }); - it('работает сюда', done => { + it('works here', done => { testComponent.model = html; fixture.detectChanges(); diff --git a/projects/addon-mobile/components/mobile-calendar/tests/mobile-calendar.component.spec.ts b/projects/addon-mobile/components/mobile-calendar/tests/mobile-calendar.component.spec.ts index 51ae460cdd74..72985f8741ed 100644 --- a/projects/addon-mobile/components/mobile-calendar/tests/mobile-calendar.component.spec.ts +++ b/projects/addon-mobile/components/mobile-calendar/tests/mobile-calendar.component.spec.ts @@ -77,7 +77,7 @@ describe('MobileCalendar', () => { .find(item => item.classes['cell_today'])!.nativeElement; } - it('кнопка назад испускает событие cancel', () => { + it('the back button emits a cancel event', () => { pageObject .getByAutomationId('tui-mobile-calendar__cancel')! .nativeElement.click(); @@ -104,8 +104,8 @@ describe('MobileCalendar', () => { ).toBe('Choose range'); }); - describe('кнопка "Готово" испускает', () => { - it('событие confirm с выбранным днём', done => { + describe('when the done button emits', () => { + it('confirm event with selected day', done => { setTimeout(() => { fixture.detectChanges(); getToday().click(); @@ -120,7 +120,7 @@ describe('MobileCalendar', () => { }, 100); }); - it('событие confirm с выбранным интервалом', done => { + it('confirm event at selected interval', done => { setTimeout(() => { fixture.detectChanges(); testComponent.single = false; @@ -139,7 +139,7 @@ describe('MobileCalendar', () => { }, 100); }); - it('событие confirm с выбранным интервалом с разными датами', fakeAsync(() => { + it('confirm event with selected interval with different dates', fakeAsync(() => { testComponent.single = false; fixture.autoDetectChanges(); tick(500); @@ -159,7 +159,7 @@ describe('MobileCalendar', () => { expect(value.isSingleDay).toBe(false); })); - it('событие cancel, если значение null', fakeAsync(() => { + it('cancel event if null', fakeAsync(() => { testComponent.component.value = null; pageObject .getByAutomationId('tui-mobile-calendar__confirm')! @@ -171,7 +171,7 @@ describe('MobileCalendar', () => { }); // :hidethepain: - it('Выбор года прокручивает месяцы', done => { + it('Year selection scrolls through months', done => { setTimeout(() => { testComponent.component.setYear(1950); fixture.detectChanges(); diff --git a/projects/addon-tablebars/components/table-bars-host/test/table-bars-host.component.spec.ts b/projects/addon-tablebars/components/table-bars-host/test/table-bars-host.component.spec.ts index ada11e5f28f1..bb062b73e791 100644 --- a/projects/addon-tablebars/components/table-bars-host/test/table-bars-host.component.spec.ts +++ b/projects/addon-tablebars/components/table-bars-host/test/table-bars-host.component.spec.ts @@ -63,7 +63,7 @@ describe('TableBarsHost', () => { } }); - it('Слушает сервис для добавления tableBar', done => { + it('Listens to service for adding tableBar', done => { component.service.bar$.pipe(take(1)).subscribe(bar => { expect(bar && bar.content).toBe(title); done(); @@ -72,7 +72,7 @@ describe('TableBarsHost', () => { service.open(title).pipe(take(1)).subscribe(); }); - it('tableBar удаляются по unsubscribe', done => { + it('tableBar removed by unsubscribe', done => { component.service.bar$.pipe(skip(1), take(1)).subscribe(bar => { expect(bar).toBe(null); done(); @@ -84,7 +84,7 @@ describe('TableBarsHost', () => { .subscribe(); }); - it('по умолчанию tableBar темный', () => { + it('the default tableBar is dark', () => { service.open(title).pipe(take(1)).subscribe(); fixture.detectChanges(); @@ -92,14 +92,14 @@ describe('TableBarsHost', () => { expect(getBar().nativeElement.classList.contains('bar_light')).toBe(false); }); - it('при mode: light tableBar светлый', () => { + it('pi mode: light tableBar light', () => { service.open(title, {mode: 'onDark'}).pipe(take(1)).subscribe(); fixture.detectChanges(); expect(getBar().nativeElement.classList.contains('bar_light')).toBe(true); }); - it('по умолчанию кнопки закрытия нет', () => { + it('there is no close button by default', () => { service.open(title).pipe(take(1)).subscribe(); fixture.detectChanges(); @@ -107,14 +107,14 @@ describe('TableBarsHost', () => { expect(getCloseButton()).toBeNull(); }); - it('при hasCloseButton: true tableBar кнопка закрытия есть', () => { + it('when hasCloseButton: true tableBar there is a close button', () => { service.open(title, {hasCloseButton: true}).pipe(take(1)).subscribe(); fixture.detectChanges(); expect(getCloseButton()).not.toBeNull(); }); - it('нажатие closeButton удаляет текущий tableBar', done => { + it('pressing closeButton removes the current tableBar', done => { service.bar$.pipe(skip(1), take(1)).subscribe(bar => { expect(bar).toBe(null); done(); diff --git a/projects/core/components/calendar/test/calendar.component.spec.ts b/projects/core/components/calendar/test/calendar.component.spec.ts index 142bfbb2bb63..fe1665130a42 100644 --- a/projects/core/components/calendar/test/calendar.component.spec.ts +++ b/projects/core/components/calendar/test/calendar.component.spec.ts @@ -58,17 +58,17 @@ describe('Calendar', () => { fixture.detectChanges(); }); - it('Выбор года изначально не виден', () => { + it('Year selection is not initially visible', () => { expect(pageObject.getByAutomationId(`${testContext.prefix}year`)).toBeNull(); }); - it('Выбор месяца изначально виден', () => { + it('Month selection is initially visible', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}pagination`), ).not.toBeNull(); }); - it('Выбор дня изначально виден', () => { + it('Day selection is initially visible', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}calendar`), ).not.toBeNull(); diff --git a/projects/core/components/expand/test/expand.component.spec.ts b/projects/core/components/expand/test/expand.component.spec.ts index 52d858adf5b1..03d968206b8a 100644 --- a/projects/core/components/expand/test/expand.component.spec.ts +++ b/projects/core/components/expand/test/expand.component.spec.ts @@ -44,27 +44,27 @@ describe('expand', () => { testComponent = fixture.componentInstance; }); - describe('закрыт по умолчанию', () => { + describe('closed by default', () => { beforeEach(() => { testComponent.expanded = false; fixture.detectChanges(); }); - it('содержимое не обрабатывается', () => { + it('content is not processed', () => { expect(testComponent.content).not.toBeDefined(); }); - describe('после этого expanded меняется на true', () => { + describe('after that expanded changes to true', () => { beforeEach(() => { testComponent.expanded = true; fixture.detectChanges(); }); - it('и содержимое появляется сразу же', () => { + it('and the content appears immediately', () => { expect(testComponent.content).toBeDefined(); }); - it('и после конца анимации содержимое остаётся', done => { + it('and after the end of the animation, the content remains', done => { setTimeout(() => { expect(testComponent.content).toBeDefined(); done(); @@ -73,17 +73,17 @@ describe('expand', () => { }); }); - describe('открыт по умолчанию', () => { + describe('open by default', () => { beforeEach(() => { testComponent.expanded = true; fixture.detectChanges(); }); - it('содержимое обрабатывается', () => { + it('content is being processed', () => { expect(testComponent.content).toBeDefined(); }); - describe('после этого expanded меняется на false', () => { + describe('after that expanded changes to false', () => { beforeEach(done => { setTimeout(() => { testComponent.expanded = false; @@ -92,11 +92,11 @@ describe('expand', () => { }, 100); }); - it('и содержимое не пропадает сразу же', () => { + it('and the content does not disappear immediately', () => { expect(testComponent.content).toBeDefined(); }); - it('и после конца анимации содержимое пропадает', done => { + it('and after the end of the animation, the content disappears', done => { setTimeout(() => { fixture.detectChanges(); expect(testComponent.content).not.toBeDefined(); @@ -119,11 +119,11 @@ describe('expand', () => { }); }); - it('содержимое обрабатывается', () => { + it('content is being processed', () => { expect(testComponent.content).toBeDefined(); }); - it('виден лоадер', done => { + it('visible loader', done => { fixture.whenStable().then(() => { fixture.detectChanges(); expect(pageObject.getByAutomationId('tui-loader__loader')).not.toBeNull(); @@ -131,7 +131,7 @@ describe('expand', () => { }); }); - it('после события TUI_EXPAND_LOADED лоадер скрыт', fakeAsync(() => { + it('after the TUI_EXPAND_LOADED event, the loader is hidden', fakeAsync(() => { const event = tuiCustomEvent(TUI_EXPAND_LOADED, {bubbles: true}, document); testComponent.content.nativeElement.dispatchEvent(event); diff --git a/projects/core/components/hosted-dropdown/test/hosted-dropdown.component.spec.ts b/projects/core/components/hosted-dropdown/test/hosted-dropdown.component.spec.ts index 2367dc63fe4b..4e88918ea226 100644 --- a/projects/core/components/hosted-dropdown/test/hosted-dropdown.component.spec.ts +++ b/projects/core/components/hosted-dropdown/test/hosted-dropdown.component.spec.ts @@ -22,11 +22,11 @@ describe('TuiHostedDropdown', () => { [content]="dropdown" [(open)]="open" > - - + + - Поле ввода + Entry field { [(open)]="open" >
- - + +
@@ -106,36 +106,36 @@ describe('TuiHostedDropdown', () => { nativeButton = document.querySelector('#native-button') as HTMLElement; }); - describe('Кнопки', () => { - it('Первый фокусируемый элемент — хост, клик по нему открывает выпадашку', () => { + describe('Buttons', () => { + it('The first element to be focused is the host, clicking on it opens a dropdown', () => { nativeButton.click(); fixture.detectChanges(); expect(getItems().length).toBe(2); }); - it('Клик по другой кнопке не открывает выпадашку', () => { + it('Clicking on another button does not open the dropdown', () => { (testComponent.tuiButton.nativeFocusableElement as HTMLElement).click(); fixture.detectChanges(); expect(getItems().length).toBe(0); }); - it('Стрелка вниз открывает выпадашку', () => { + it('Down arrow opens a dropdown', () => { nativeButton.focus(); dispatchOnActive('arrowDown', fixture); expect(getItems().length).toBe(2); }); - it('Стрелка вниз на другой кнопке не открывает выпадашку', () => { + it('Down arrow on another button does not open the dropdown', () => { testComponent.tuiButton.nativeFocusableElement!.focus(); dispatchOnActive('arrowDown', fixture); expect(getItems().length).toBe(0); }); - it('Стрелка вниз переводит фокус на выпадашку', () => { + it('Down arrow moves focus to dropdown', () => { nativeButton.focus(); dispatchOnActive('arrowDown', fixture); dispatchOnActive('arrowDown', fixture); @@ -143,7 +143,7 @@ describe('TuiHostedDropdown', () => { expect(document.activeElement).toBe(getItems()[0].nativeElement); }); - it('Escape закрывает выпадашку', () => { + it('Escape closes the dropdown', () => { nativeButton.focus(); dispatchOnActive('arrowDown', fixture); dispatchOnActive('escape', fixture); @@ -151,7 +151,7 @@ describe('TuiHostedDropdown', () => { expect(getItems().length).toBe(0); }); - it('Escape в выпадашке закрывает её и переносит фокус на хост', () => { + it('Escape in the dropdown closes it and brings focus to the host', () => { nativeButton.focus(); dispatchOnActive('arrowDown', fixture); dispatchOnActive('arrowDown', fixture); @@ -161,7 +161,7 @@ describe('TuiHostedDropdown', () => { expect(document.activeElement).toBe(nativeButton); }); - it('Потеря фокуса закрывает выпадашку', () => { + it('Loss of focus closes the dropdown', () => { nativeButton.focus(); dispatchOnActive('arrowDown', fixture); dispatchOnActive('arrowDown', fixture); @@ -171,7 +171,7 @@ describe('TuiHostedDropdown', () => { expect(getItems().length).toBe(0); }); - it('Стрелка вниз не открывает выпадашку, если canOpen === false', () => { + it('Down arrow does not open dropdown if canOpen === false', () => { testComponent.canOpen = false; fixture.detectChanges(); nativeButton.focus(); @@ -180,7 +180,7 @@ describe('TuiHostedDropdown', () => { expect(getItems().length).toBe(0); }); - it('Клик не открывает выпадашку, если canOpen === false', () => { + it('Click does not open the dropdown if canOpen === false', () => { testComponent.canOpen = false; fixture.detectChanges(); nativeButton.click(); @@ -190,27 +190,27 @@ describe('TuiHostedDropdown', () => { }); }); - describe('Поле ввода', () => { + describe('Entry field', () => { beforeEach(() => { testComponent.mode = 'input'; fixture.detectChanges(); }); - it('Клик по хосту не открывает выпадашку', () => { + it('Clicking on the host does not open the dropdown', () => { (testComponent.tuiTextfield.nativeFocusableElement as HTMLElement).click(); fixture.detectChanges(); expect(getItems().length).toBe(0); }); - it('Стрелка вниз открывает выпадашку', () => { + it('Down arrow opens a dropdown', () => { testComponent.tuiTextfield.nativeFocusableElement!.focus(); dispatchOnActive('arrowDown', fixture); expect(getItems().length).toBe(2); }); - it('Обновление items переводит фокус на input', () => { + it('Updating items brings focus to input', () => { testComponent.tuiTextfield.nativeFocusableElement!.focus(); dispatchOnActive('arrowDown', fixture); @@ -222,20 +222,20 @@ describe('TuiHostedDropdown', () => { }); }); - describe('Прямое указание хоста', () => { + describe('Direct Host Specification', () => { beforeEach(() => { testComponent.mode = 'targeted'; fixture.detectChanges(); }); - it('Клик по по первому фокусируемому элементу не открывает выпадашку', () => { + it('Clicking on the first focused element does not open the dropdown', () => { (testComponent.tuiButton.nativeFocusableElement as HTMLElement).click(); fixture.detectChanges(); expect(getItems().length).toBe(0); }); - it('Элемент с tuiHostedDropdownHost используется в качестве хоста, клик по нему открывает выпадашку', () => { + it('An element with tuiHostedDropdownHost is used as a host, clicking on it opens a dropdown', () => { (testComponent.target.nativeFocusableElement as HTMLElement).click(); fixture.detectChanges(); diff --git a/projects/core/components/loader/test/loader.component.spec.ts b/projects/core/components/loader/test/loader.component.spec.ts index a290f18be036..80de0e475ac0 100644 --- a/projects/core/components/loader/test/loader.component.spec.ts +++ b/projects/core/components/loader/test/loader.component.spec.ts @@ -65,13 +65,13 @@ describe('Loader', () => { }); describe('showLoader:', () => { - it('По умолчанию лоадер не показан', () => { + it('Loader is not shown by default', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}loader'`), ).toBeNull(); }); - it('При заданном showLoader = true лоадер показан', () => { + it('With showLoader = true, the loader is shown', () => { testComponent.showLoader = true; fixture.detectChanges(); @@ -81,13 +81,13 @@ describe('Loader', () => { }); }); - describe('Текст', () => { - it('Текста нет', () => { + describe('Text', () => { + it('No text', () => { testComponent.showLoader = true; expect(pageObject.getByAutomationId(`${testContext.prefix}text`)).toBeNull(); }); - it('При наличии `textContent` текст показан', () => { + it('If there is `textContent`, the text is shown', () => { testComponent.textContent = testComponent.textTemplate; testComponent.showLoader = true; fixture.detectChanges(); diff --git a/projects/core/components/notification/test/notification.component.spec.ts b/projects/core/components/notification/test/notification.component.spec.ts index ea4f37d18fe0..492f66e1e459 100644 --- a/projects/core/components/notification/test/notification.component.spec.ts +++ b/projects/core/components/notification/test/notification.component.spec.ts @@ -17,11 +17,11 @@ describe('Notification', () => { [status]="status" (close)="onClose()" > - Короткое простое информационное сообщение + Short simple informational message - Короткое простое информационное сообщение + Short simple informational message `, @@ -65,11 +65,11 @@ describe('Notification', () => { }); describe('icon', () => { - it('по умолчанию присутствует', () => { + it('present by default', () => { expect(getIcon()).not.toBeNull(); }); - it('выбирается правильно в зависимости от статуса', () => { + it('chosen correctly depending on the status', () => { expect(testComponent.component.icon).toBe(STATUS_ICON[testComponent.status]); testComponent.status = TuiNotification.Success; @@ -85,7 +85,7 @@ describe('Notification', () => { expect(testComponent.component.icon).toBe(STATUS_ICON[testComponent.status]); }); - it('при hasIcon=false отсутствует', () => { + it('when hasIcon = false is absent', () => { testComponent.hasIcon = false; fixture.detectChanges(); @@ -93,12 +93,12 @@ describe('Notification', () => { }); }); - describe('крестик закрытия', () => { - it('присутствует при подписке на close', () => { + describe('closing cross', () => { + it('present when subscribing to close', () => { expect(getClose()).not.toBeNull(); }); - it('без подписки на close отсутствует', () => { + it('without subscription to close is missing', () => { testComponent.hasCloseButton = false; fixture.detectChanges(); diff --git a/projects/core/components/primitive-textfield/test/primitive-textfield.component.spec.ts b/projects/core/components/primitive-textfield/test/primitive-textfield.component.spec.ts index 0575ce3b710f..813100b79a7a 100644 --- a/projects/core/components/primitive-textfield/test/primitive-textfield.component.spec.ts +++ b/projects/core/components/primitive-textfield/test/primitive-textfield.component.spec.ts @@ -54,7 +54,7 @@ describe('PrimitiveTextfield', () => { exampleText = 'placeholder'; - hintContent: string | null = 'Подсказка'; + hintContent: string | null = 'prompt'; value = ''; diff --git a/projects/core/internal/primitive-year-month-pagination/test/primitive-year-month-pagination.component.spec.ts b/projects/core/internal/primitive-year-month-pagination/test/primitive-year-month-pagination.component.spec.ts index 681da505c3e6..9c989a051a53 100644 --- a/projects/core/internal/primitive-year-month-pagination/test/primitive-year-month-pagination.component.spec.ts +++ b/projects/core/internal/primitive-year-month-pagination/test/primitive-year-month-pagination.component.spec.ts @@ -78,7 +78,7 @@ describe('PrimitiveYearMonthPaginationComponent', () => { expect(component.prevMonthDisabled).toBe(true); }); - describe('false если', () => { + describe('false if', () => { it('min is smaller than value', () => { expect(component.prevMonthDisabled).toBe(false); }); @@ -92,7 +92,7 @@ describe('PrimitiveYearMonthPaginationComponent', () => { expect(component.nextMonthDisabled).toBe(true); }); - describe('false если', () => { + describe('false if', () => { it('max is bigger than value', () => { expect(component.nextMonthDisabled).toBe(false); }); diff --git a/projects/core/modules/notifications/notification-alert/test/notification-alert.component.spec.ts b/projects/core/modules/notifications/notification-alert/test/notification-alert.component.spec.ts index ca070443e9cd..72b79db155ff 100644 --- a/projects/core/modules/notifications/notification-alert/test/notification-alert.component.spec.ts +++ b/projects/core/modules/notifications/notification-alert/test/notification-alert.component.spec.ts @@ -93,27 +93,27 @@ describe('NotificationAlertComponent', () => { component = testComponent.component; }); - describe('Alert класс', () => { + describe('Alert class', () => { beforeEach(() => { fixture.detectChanges(); }); - it('Значение status по умолчанию', () => { + it('Default status', () => { expect(component.item!.status).toBe('info'); }); - it('Значение autoclose по умолчанию', () => { + it('Default autoclose', () => { expect(component.item!.autoClose).toBe(true); }); }); - describe('Отображение', () => { + describe('Display', () => { beforeEach(() => { testComponent.alert = new NotificationAlert(observerMock, content, {label}); fixture.detectChanges(); }); - it('Показывает заголовок', () => { + it('Shows the title', () => { expect( pageObject .getByAutomationId(`${testContext.prefix}heading`)! @@ -121,7 +121,7 @@ describe('NotificationAlertComponent', () => { ).toBe(label); }); - it('Показывает текст', () => { + it('Shows text', () => { expect( pageObject .getByAutomationId(`${testContext.prefix}content`)! @@ -130,7 +130,7 @@ describe('NotificationAlertComponent', () => { }); }); - it('close | Закрывает Alert и оповещает observer', () => { + it('close | Close the Alert and notify the observer', () => { fixture.detectChanges(); component.closeDialog(); @@ -138,7 +138,7 @@ describe('NotificationAlertComponent', () => { expect(completeSpy).toHaveBeenCalled(); }); - describe('processComponent | Alert с произвольным шаблоном', () => { + describe('processComponent | Alert with custom template', () => { beforeEach(() => { testComponent.alert = new NotificationAlert( observerMock, @@ -148,7 +148,7 @@ describe('NotificationAlertComponent', () => { fixture.detectChanges(); }); - it('Alert с произвольным шаблоном может передавать данные', () => { + it('Alert with custom template can transmit data', () => { pageObject .getByAutomationId(`${testContext.prefix}submit`)! .nativeElement.click(); @@ -156,7 +156,7 @@ describe('NotificationAlertComponent', () => { expect(nextSpy).toHaveBeenCalledWith(data); }); - it('Alert с произвольным шаблоном может закрыться', () => { + it('Alert with custom template can close', () => { pageObject .getByAutomationId(`${testContext.prefix}complete`)! .nativeElement.click(); diff --git a/projects/core/utils/format/test/capitalize.spec.ts b/projects/core/utils/format/test/capitalize.spec.ts index 58a8bfc6c3fb..be65b88ca0e1 100644 --- a/projects/core/utils/format/test/capitalize.spec.ts +++ b/projects/core/utils/format/test/capitalize.spec.ts @@ -2,11 +2,11 @@ import {CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk'; import {capitalize} from '../capitalize'; describe('Capitalize', () => { - it('capitalizes the first letter of the word', () => { + it('Capitalizes the first letter of a word', () => { expect(capitalize('lorem')).toBe('Lorem'); }); - it('capitalizes the first letter of each word', () => { + it('Capitalizes the first letter of each word', () => { expect(capitalize('lorem ipsum')).toBe('Lorem Ipsum'); }); diff --git a/projects/core/utils/mask/create-auto-corrected-money-pipe.ts b/projects/core/utils/mask/create-auto-corrected-money-pipe.ts index 801c7d770427..97937ed597a3 100644 --- a/projects/core/utils/mask/create-auto-corrected-money-pipe.ts +++ b/projects/core/utils/mask/create-auto-corrected-money-pipe.ts @@ -8,7 +8,7 @@ import {TuiTextMaskPipeHandler} from '@taiga-ui/core/mask'; import {TuiDecimalSymbol} from '@taiga-ui/core/types'; /** - * Используется для добивания числа нулями до заданной точности + * Used to finish a number with zeros to a given precision */ export function tuiCreateAutoCorrectedNumberPipe( decimalLimit: number = 0, diff --git a/projects/kit/abstract/slider/slider.ts b/projects/kit/abstract/slider/slider.ts index 3cecf56eae87..2a88df8888c0 100644 --- a/projects/kit/abstract/slider/slider.ts +++ b/projects/kit/abstract/slider/slider.ts @@ -297,11 +297,11 @@ export abstract class AbstractTuiSlider } /** - * Функция для перевода заполненности слайдера в значение и наоборот - * с учётом шагов линейной зависимости. + * Function for converting the fullness of the slider to a value and vice versa + * taking into account the steps of linear dependence. * - * @param value переданное значение - * @param isFraction перевод осуществляется с заполненности на значение + * @param value passed value + * @param isFraction translation is carried out from fullness to value */ private fractionValueKeyStepConverter(value: number, isFraction: boolean): number { const steps = [[0, this.min]].concat(this.keySteps as TuiKeySteps, [ diff --git a/projects/kit/components/accordion/test/accordion.component.spec.ts b/projects/kit/components/accordion/test/accordion.component.spec.ts index 8acaf0e0fd5a..91a704b719ce 100644 --- a/projects/kit/components/accordion/test/accordion.component.spec.ts +++ b/projects/kit/components/accordion/test/accordion.component.spec.ts @@ -47,29 +47,29 @@ describe('Accordion', () => { [showArrow]="showArrow" [open]="open" > - Заголовок аккордеона - Контент аккордеона + Accordion header + Accordion content - Заголовок аккордеона + Accordion header
Введите ФИОEnter your full name - Выберите счет + Select account { - Заголовок аккордеона + Accordion header
- Контент аккордеона + Accordion content
@@ -108,9 +108,9 @@ describe('Accordion', () => { open = false; accounts = [ - new Account('Рублёвый', 500), - new Account('Долларовый', 237), - new Account('Евровый', 100), + new Account('Ruble', 500), + new Account('Dollar', 237), + new Account('Euro', 100), ]; testForm = new FormGroup({ @@ -142,41 +142,41 @@ describe('Accordion', () => { fixture.detectChanges(); }); - it('содержит заголовок', () => { + it('contains title', () => { expect(getAccordionItemTitle()!.nativeElement.textContent.trim()).toBe( - 'Заголовок аккордеона', + 'Accordion header', ); }); - it('контент по умолчанию скрыт', () => { + it('content is hidden by default', () => { expect(getAccordionItemContent()).toBeNull(); }); - it('контент открывается по клику', () => { + it('content opens on click', () => { getAccordionItemHeaderSingle()!.click(); fixture.detectChanges(); expect(getAccordionItemContent()).not.toBeNull(); }); - it('в контент коррекно передалось содержимое', () => { + it('the content was correctly transferred to the content', () => { getAccordionItemHeaderSingle()!.click(); fixture.detectChanges(); expect(getAccordionItemContent()!.nativeElement.textContent.trim()).toBe( - 'Контент аккордеона', + 'Accordion content', ); }); - it('по умолчанию со скругленными углами', () => { + it('default with rounded corners', () => { expect(getAccordionGroup()!.classes['tui-group_rounded']).toBe(true); }); - it('по умолчанию границы по бокам у айтемов есть', () => { + it('by default, items have borders on the sides', () => { expect(getAccordionItem()!.attributes['data-tui-host-borders']).toBe('all'); }); - it('при borders = top-bottom границ нет', () => { + it('with borders = top-bottom there are no borders', () => { testComponent.borders = TuiBorders.TopBottom; fixture.detectChanges(); @@ -185,18 +185,18 @@ describe('Accordion', () => { ); }); - it('по умолчанию стрелка есть', () => { + it('by default there is an arrow', () => { expect(getAccordionItemArrow()!).not.toBeNull(); }); - it('при showArrow = false стрелки нет', () => { + it('with showArrow = false there is no arrow', () => { testComponent.showArrow = false; fixture.detectChanges(); expect(getAccordionItemArrow()!).toBeNull(); }); - describe('Управление с клавиатуры', () => { + describe('Keyboard control', () => { beforeEach(() => { pageObject .getByAutomationId(`${testContext.prefix}item-wrapper`)! @@ -204,14 +204,14 @@ describe('Accordion', () => { fixture.detectChanges(); }); - it('Нажатие space открывает контент', () => { + it('Pressing space opens content', () => { sendKeydown(space); fixture.detectChanges(); expect(getAccordionItemContent()).not.toBeNull(); }); - it('Повторное нажатие space закрывает контент', () => { + it('Pressing space again closes the content', () => { sendKeydown(space); sendKeydown(space); fixture.detectChanges(); @@ -221,14 +221,14 @@ describe('Accordion', () => { ); }); - it('Нажатие enter открывает контент', () => { + it('Pressing enter opens content', () => { sendKeydown(enter); fixture.detectChanges(); expect(getAccordionItemContent()).not.toBeNull(); }); - it('Повторное нажатие enter закрывает контент', () => { + it('Pressing enter again closes the content', () => { sendKeydown(enter); sendKeydown(enter); fixture.detectChanges(); @@ -238,7 +238,7 @@ describe('Accordion', () => { ); }); - it('Нажатие esc закрывает контент', () => { + it('Pressing esc closes the content', () => { sendKeydown(space); sendKeydown(esc); fixture.detectChanges(); @@ -249,13 +249,13 @@ describe('Accordion', () => { }); }); - describe('Многосекционный', () => { + describe('Multi-section', () => { beforeEach(() => { testComponent.single = false; fixture.detectChanges(); }); - it('клик по 1-ой секции открывает ее содержимое', () => { + it('clicking on the 1st section opens its contents', () => { accordionHeaderClick(2); fixture.detectChanges(); @@ -263,7 +263,7 @@ describe('Accordion', () => { expect(getAccordionContent2()).toBeNull(); }); - it('клик по 2-ой секции открывает ее содержимое и закрывает содержимое 1-й', () => { + it('clicking on the 2nd section opens its contents and closes the contents of the 1st', () => { accordionHeaderClick(2); accordionHeaderClick(3); fixture.detectChanges(); @@ -272,7 +272,7 @@ describe('Accordion', () => { expect(getAccordionContent2()).not.toBeNull(); }); - it('при closeOthers = false уже открытые секции не закрываются при открытии новых', () => { + it('when closeOthers = false, already open sections are not closed when new ones are opened', () => { testComponent.closeOthers = false; fixture.detectChanges(); @@ -284,7 +284,7 @@ describe('Accordion', () => { expect(getAccordionContent2()).not.toBeNull(); }); - it('нажатие пробела в инпуте не закрывает аккордеон', () => { + it('pressing the space bar in the input does not close the accordion', () => { accordionHeaderClick(2); fixture.detectChanges(); @@ -297,8 +297,8 @@ describe('Accordion', () => { }); it( - 'в селекте внутри контента корректно закрывается дропдаун на ESC, ' + - 'контент аккордеона при этом не закрывается', + 'in the select inside the content, the dropdown on ESC is correctly closed, ' + + 'the accordion content is not closed', done => { accordionHeaderClick(2); fixture.detectChanges(); diff --git a/projects/kit/components/avatar/tests/avatar.component.spec.ts b/projects/kit/components/avatar/tests/avatar.component.spec.ts index 900b0a3774ce..9cd4969df168 100644 --- a/projects/kit/components/avatar/tests/avatar.component.spec.ts +++ b/projects/kit/components/avatar/tests/avatar.component.spec.ts @@ -59,18 +59,18 @@ describe('Avatar', () => { }); describe('computedText', () => { - it('если есть аватар, текстовое значение пустое', () => { + it('if there is an avatar, the text value is empty', () => { expect(component.computedText).toBe(''); }); - it('если аватар отсутствует, текстовое значение берётся из первых букв слов в text', () => { + it('if there is no avatar, the text value is taken from the first letters of the words in text', () => { testComponent.avatarUrl = null; fixture.detectChanges(); expect(component.computedText).toBe('JC'); }); - it('если аватар отсутствует, и в text одно слово — берётся его первая буква', () => { + it('if the avatar is absent, and there is one word in text, its first letter is taken', () => { testComponent.avatarUrl = null; testComponent.text = 'James'; fixture.detectChanges(); @@ -78,7 +78,7 @@ describe('Avatar', () => { expect(component.computedText).toBe('J'); }); - it('для xs размеров берётся только одна буква', () => { + it('for xs sizes only one letter is taken', () => { testComponent.avatarUrl = null; testComponent.size = 'xs'; fixture.detectChanges(); @@ -87,14 +87,14 @@ describe('Avatar', () => { }); }); - describe('Цвет аватара', () => { - it('если есть avatarUrl, цвет rgba(0, 0, 0, 0)', () => { + describe('Avatar color', () => { + it('if there is an avatarUrl the color is rgba(0, 0, 0, 0)', () => { expect(getComputedStyle(getAvatar()).backgroundColor).toBe( 'rgba(0, 0, 0, 0)', ); }); - it('при включении autoColor, цвет будет - rgb(160, 170, 228)', () => { + it('when autoColor is on, the color will be - rgb(160, 170, 228)', () => { testComponent.autoColor = true; fixture.detectChanges(); expect(getComputedStyle(getAvatar()).backgroundColor).toBe( diff --git a/projects/kit/components/badge/test/badge.component.spec.ts b/projects/kit/components/badge/test/badge.component.spec.ts index 54a5389db1ba..7e24001d9a10 100644 --- a/projects/kit/components/badge/test/badge.component.spec.ts +++ b/projects/kit/components/badge/test/badge.component.spec.ts @@ -43,28 +43,28 @@ describe('Badge', () => { }); describe('value:', () => { - it('если принимает двузначное число, выводит его', () => { + it('if it accepts a two-digit number, it outputs it', () => { testComponent.value = 99; fixture.detectChanges(); expect(testComponent.element.nativeElement.textContent).toEqual('99'); }); - it('если принимает трехзначное и более, выводит сокращение 99+', () => { + it('if it takes three digits or more, it displays the abbreviation 99+', () => { testComponent.value = 999; fixture.detectChanges(); expect(testComponent.element.nativeElement.textContent).toEqual('99+'); }); - it('если принимает строку, выводит её', () => { - testComponent.value = 'Текст'; + it('if it accepts a string, it outputs it', () => { + testComponent.value = 'Text'; fixture.detectChanges(); - expect(testComponent.element.nativeElement.textContent).toEqual('Текст'); + expect(testComponent.element.nativeElement.textContent).toEqual('Text'); }); - it('если принимает строку, содержащую число, выводит её в неизменном виде', () => { + it('if it accepts a string containing a number, it outputs it unchanged', () => { testComponent.value = '125'; fixture.detectChanges(); @@ -73,14 +73,14 @@ describe('Badge', () => { }); describe('padding:', () => { - it('если значение – число, у padding размер m', () => { + it('if value is a number, padding has size m', () => { testComponent.value = 99; fixture.detectChanges(); expect(component.padding).toBe('m'); }); - it('если значение – строка, у padding размер l', () => { + it('if value is a string, padding has size l', () => { testComponent.value = '99'; fixture.detectChanges(); diff --git a/projects/kit/components/breadcrumbs/test/breadcrumbs.component.spec.ts b/projects/kit/components/breadcrumbs/test/breadcrumbs.component.spec.ts index 6aa0d8b84d3d..20e342e6368c 100644 --- a/projects/kit/components/breadcrumbs/test/breadcrumbs.component.spec.ts +++ b/projects/kit/components/breadcrumbs/test/breadcrumbs.component.spec.ts @@ -10,15 +10,15 @@ import {TuiBreadcrumbsModule} from '../breadcrumbs.module'; const ITEMS = [ { - caption: 'Селекты', + caption: 'Select', routerLink: '/tui-select', }, { - caption: 'Мульти', + caption: 'Multi', routerLink: '/tui-multi-select', }, { - caption: 'С тегами', + caption: 'With tags', routerLink: '/tui-multi-select', }, ]; @@ -70,11 +70,11 @@ describe('Breadcrumbs', () => { }); describe('size:', () => { - it('выставлен по умолчанию medium', () => { + it('default is medium', () => { expect(getBreadcrumbs().attributes['data-tui-host-size']).toBe('m'); }); - it('выставляется large при size="l"', () => { + it('large is set for size = "l"', () => { testComponent.size = 'l'; fixture.detectChanges(); @@ -82,8 +82,8 @@ describe('Breadcrumbs', () => { }); }); - describe('иконка:', () => { - it('у последнего элемента отсутстует', () => { + describe('icon:', () => { + it('the last element is missing ', () => { const itemsArrayLength = ITEMS.length; const iconsArrayLength = fixture.debugElement.queryAll(By.css('.icon')) .length; diff --git a/projects/kit/components/calendar-range/test/range-calendar.component.spec.ts b/projects/kit/components/calendar-range/test/range-calendar.component.spec.ts index a5eb0245fb4e..bba93bc54f08 100644 --- a/projects/kit/components/calendar-range/test/range-calendar.component.spec.ts +++ b/projects/kit/components/calendar-range/test/range-calendar.component.spec.ts @@ -94,37 +94,37 @@ describe('rangeCalendarComponent', () => { }); }); - it('показаны два календаря, если items — пустой массив', () => { + it('showing two calendars if items is an empty array', () => { testComponent.items = []; expect(getCalendars()).not.toBeNull(); }); - describe('пункты', () => { + describe('points', () => { beforeEach(() => { testComponent.items = tuiCreateDefaultDayRangePeriods(); fixture.detectChanges(); }); - it('Если есть items — показан один календарь с меню, а 2 календаря скрыты', () => { + it('If there are items - one calendar with a menu is shown, and 2 calendars are hidden', () => { expect(getCalendar()).not.toBeNull(); }); - it('Пункты по умолчанию из генератора', () => { + it('Default items from generator', () => { const items = getItems(); expect(items.length).toBe(7); }); - it('Если значение не подходит ни под один диапазон — галочка у "Другая дата..."', () => { + it('If the value does not fit any range, check the box next to "Other date..."', () => { expect(getItems()[6].nativeElement.contains(getCheckmark())).toBe(true); }); - it('Если значение не подходит под диапазон — галочки у диапазона нет', () => { + it('If the value does not fit the range, the range has no tick', () => { expect(getItems()[5].nativeElement.contains(getCheckmark())).toBe(false); }); - it('Выбор интервала учитывает min/max', () => { + it('Interval selection takes into account min / max', () => { const today = TuiDay.currentLocal(); const startOfMonth = today.append({day: 1 - today.day}); const startOfLastMonth = startOfMonth.append({month: -1}); @@ -142,7 +142,7 @@ describe('rangeCalendarComponent', () => { ).toBe(true); }); - it('Интервалы, полностью находящиеся за пределами min и max не выводятся', () => { + it('Intervals that are completely outside min and max are not displayed', () => { const today = TuiDay.currentLocal(); testComponent.min = TuiDay.currentLocal().append({ @@ -160,12 +160,12 @@ describe('rangeCalendarComponent', () => { expect(items.some(item => item === 'Today')).toBe(false); }); - it('При переопределении интервалов в списке всегда есть "Другая дата..."', () => { + it('When redefining intervals, the list always contains "Other date..."', () => { const august = new TuiDayRange( new TuiDay(1944, 7, 1), new TuiDay(1944, 7, 31), ); - const title = 'В августе 44-го'; + const title = 'In August 44th'; testComponent.items = [new TuiDayRangePeriod(august, title)]; fixture.detectChanges(); diff --git a/projects/kit/components/combo-box/test/combo-box.component.spec.ts b/projects/kit/components/combo-box/test/combo-box.component.spec.ts index 7c0bf0212d7b..959899925565 100644 --- a/projects/kit/components/combo-box/test/combo-box.component.spec.ts +++ b/projects/kit/components/combo-box/test/combo-box.component.spec.ts @@ -30,9 +30,9 @@ class Beast { } const ITEMS = [ - new Beast('мышка', 'Серая', '0'), - new Beast('кошка', 'Хитрая', '1'), - new Beast('енотик', 'Шкодливый', '2'), + new Beast('mouse', 'Gray', '0'), + new Beast('cat', 'Sly', '1'), + new Beast('raccoon', 'Naughty', '2'), ]; function stringify({trait}: Beast): string { @@ -57,7 +57,7 @@ describe('ComboBox', () => { [tuiTextfieldExampleText]="exampleText" [tuiHintContent]="hintContent" > - Кто украл мячик? + Who stole the ball? { cleaner = false; size: TuiSizeS | TuiSizeL = 'm'; readOnly = false; - hintContent: string | null = 'Подсказка'; + hintContent: string | null = 'prompt'; exampleText = 'exampleText'; get stringify(): TuiStringHandler { @@ -124,11 +124,11 @@ describe('ComboBox', () => { fixture.detectChanges(); }); - it('Значение по умолчанию — String(item)', () => { + it('The default is String(item)', () => { expect(getValue()!.nativeElement.textContent.trim()).toBe(String(ITEMS[0])); }); - it('Кастомное значение', () => { + it('Custom value', () => { testComponent.defaultInputs = false; fixture.detectChanges(); @@ -136,12 +136,12 @@ describe('ComboBox', () => { }); }); - it('При изменении items подставляет точное совпадение в контрол', done => { + it('When changing items, substitutes an exact match in the control', done => { testComponent.defaultInputs = true; testComponent.items = []; testComponent.control.setValue(ITEMS[0]); fixture.detectChanges(); - inputPO.sendText('Хитрая кошка'); + inputPO.sendText('Sly cat'); expect(testComponent.control.value).toBeNull(); @@ -155,42 +155,42 @@ describe('ComboBox', () => { }); describe('identityMatcher', () => { - describe('Матчер по умолчанию', () => { + describe('Default matcher', () => { beforeEach(() => { testComponent.defaultInputs = true; fixture.detectChanges(); inputPO.sendKeydown('ArrowDown'); }); - it('Считает один и тот же объект идентичным самому себе', () => { + it('Considers the same object to be identical to itself', () => { testComponent.control.setValue(ITEMS[0]); fixture.detectChanges(); expect(getCheckmark()).not.toBeNull(); }); - it('Не считает копии объектов идентичными', () => { - testComponent.control.setValue(new Beast('мышка', 'Серая', '0')); + it(`Doesn't consider copies of objects identical`, () => { + testComponent.control.setValue(new Beast('mouse', 'Gray', '0')); fixture.detectChanges(); expect(getCheckmark()).toBeNull(); }); }); - describe('Кастомный матчер (сверка по id)', () => { + describe('Custom matcher (matching by id)', () => { beforeEach(() => { inputPO.sendKeydown('ArrowDown'); }); - it('Считает один и тот же объект идентичным самому себе', () => { + it('Considers the same object to be identical to itself', () => { testComponent.control.setValue(ITEMS[0]); fixture.detectChanges(); expect(getCheckmark()).not.toBeNull(); }); - it('Считает копии объектов идентичными', () => { - testComponent.control.setValue(new Beast('мышка', 'Серая', '0')); + it('Considers copies of objects identical', () => { + testComponent.control.setValue(new Beast('mouse', 'Gray', '0')); fixture.detectChanges(); expect(getCheckmark()).not.toBeNull(); diff --git a/projects/kit/components/field-error/test/field-error.component.spec.ts b/projects/kit/components/field-error/test/field-error.component.spec.ts index 0501fb5173ac..f31c9b66502d 100644 --- a/projects/kit/components/field-error/test/field-error.component.spec.ts +++ b/projects/kit/components/field-error/test/field-error.component.spec.ts @@ -33,7 +33,7 @@ const testContext = { function arrayValidator(array: AbstractControl): ValidationErrors | null { return array instanceof FormArray && array.controls.length < 2 - ? {length: new TuiValidationError('Неверная длина массива')} + ? {length: new TuiValidationError('Invalid array length')} : null; } @@ -51,7 +51,7 @@ function formGroupValidator(form: AbstractControl): ValidationErrors | null { } } - return error ? {error: new TuiValidationError('Есть пустые значения')} : null; + return error ? {error: new TuiValidationError('There are empty values')} : null; } function zipCodeValidator(field: AbstractControl): ValidationErrors | null { @@ -119,15 +119,15 @@ describe('FieldError', () => { fixture.detectChanges(); }); - it('Вывод ошибки валидатора в связи с неверной длиной', () => { + it('Validator error output due to incorrect length', () => { testComponent.formData.markAsTouched(); fixture.detectChanges(); expect(isErrorVisible(pageObject)).toBe(true); - expect(getErrorText(pageObject)).toBe('Неверная длина массива'); + expect(getErrorText(pageObject)).toBe('Invalid array length'); }); - it('При соблюдении условий валидатора, скрываем ошибку', () => { + it('If the conditions of the validator are met, hide the error', () => { testComponent.addItem(); fixture.detectChanges(); @@ -180,16 +180,16 @@ describe('FieldError', () => { fixture.detectChanges(); }); - it('Вывод ошибки валидатора в связи с отсутствием значение у контролеров формы', () => { + it('Displaying validator error due to lack of value from form checkers', () => { testComponent.testForm.controls.item_1.setValue('test'); testComponent.testForm.markAsTouched(); fixture.detectChanges(); expect(isErrorVisible(pageObject)).toBe(true); - expect(getErrorText(pageObject)).toBe('Есть пустые значения'); + expect(getErrorText(pageObject)).toBe('There are empty values'); }); - it('При соблюдении условий валидатора, скрываем ошибку', () => { + it('If the conditions of the validator are met, hide the error', () => { testComponent.testForm.controls.item_1.setValue('test'); testComponent.testForm.controls.item_2.setValue('test'); fixture.detectChanges(); @@ -255,14 +255,14 @@ describe('FieldError', () => { }); describe('untouched', () => { - it('Ошибка не показывается в пустом поле', () => { + it('The error is not shown in an empty field', () => { input.setValidators([Validators.required]); fixture.detectChanges(); expect(isErrorVisible(pageObject)).toBe(false); }); - it('Ошибка не показывается в заполненном поле', () => { + it('The error is not shown in the filled field', () => { input.setValidators([zipCodeValidator]); input.setValue('012'); fixture.detectChanges(); @@ -272,7 +272,7 @@ describe('FieldError', () => { }); describe('touched', () => { - it('Для стандартного валидатора показана ошибка по умолчанию', () => { + it('Default error shown for standard validator', () => { input.setValidators([Validators.required]); input.markAsTouched(); fixture.detectChanges(); @@ -283,7 +283,7 @@ describe('FieldError', () => { expect(errorText).toBe('Value is invalid'); }); - it('Для кастомного валидатора со строкой показан соответствующий текст ошибки', () => { + it('For a custom validator with a string, the corresponding error text is shown', () => { input.setValidators([zipCodeValidator]); input.setValue('012'); input.markAsTouched(); @@ -295,7 +295,7 @@ describe('FieldError', () => { expect(errorText).toBe(ZIP_CODE_MESSAGE); }); - it('Для кастомного валидатора c шаблоном показан соответствующий текст ошибки', () => { + it('For a custom validator with a template, the corresponding error text is shown', () => { const content = testComponent.errorContent; input.setValidators([getZipCodeValidatorWithContent(content)]); @@ -309,7 +309,7 @@ describe('FieldError', () => { expect(errorText).toBe(ZIP_CODE_MESSAGE); }); - it('Если ввести корректное значение в не валидное поле, ошибка скрывается', done => { + it('If you enter a correct value in an invalid field, the error is hidden', done => { input.setValidators([zipCodeValidator]); input.setValue('012'); input.markAsTouched(); @@ -325,7 +325,7 @@ describe('FieldError', () => { }); }); - it('Если ввести некорректное значение в валидное поле, ошибка появляется', () => { + it('If you enter an incorrect value in a valid field, an error appears', () => { input.setValidators([zipCodeValidator]); input.setValue('012345'); input.markAsTouched(); @@ -338,8 +338,8 @@ describe('FieldError', () => { }); }); - describe('Кастомный порядок ошибок', () => { - it('Ошибки выводятся в заданном порядке', () => { + describe('Custom error order', () => { + it('Errors are displayed in the specified order', () => { testComponent.order = ['required', 'zipCode']; input.setValidators([Validators.required, zipCodeValidator]); input.markAsTouched(); @@ -349,7 +349,7 @@ describe('FieldError', () => { expect(getErrorText(pageObject)).toBe('Value is invalid'); }); - it('Изменение порядка меняет текст ошибки', () => { + it('Changing the order changes the error text', () => { testComponent.order = ['required', 'zipCode']; input.setValidators([Validators.required, zipCodeValidator]); input.markAsTouched(); diff --git a/projects/kit/components/filter/test/filters.component.spec.ts b/projects/kit/components/filter/test/filters.component.spec.ts index c591ae062f88..e5b15d8f9636 100644 --- a/projects/kit/components/filter/test/filters.component.spec.ts +++ b/projects/kit/components/filter/test/filters.component.spec.ts @@ -23,7 +23,7 @@ class ItemWithBadge { } } -const ARR_STRING = ['Одежда и обувь']; +const ARR_STRING = ['Clothes and footwear']; const ARR_OBJECT = [new ItemWithBadge('Focused Zone', BADGE_VALUE)]; @@ -94,18 +94,18 @@ describe('Filter', () => { } describe('value', () => { - it('по умолчанию отсутствует', () => { + it('default absent', () => { expect(testComponent.control.value.length).toBe(0); }); - it('устанавливается из checked пунктов', () => { + it('set from checked items', () => { component.onCheckbox(true, ARR_STRING[0]); fixture.detectChanges(); expect(testComponent.control.value).toEqual(ARR_STRING); }); - it('устанавливается при создании контрола', () => { + it('set when creating a control', () => { testComponent.control.setValue(ARR_STRING); fixture.detectChanges(); @@ -113,12 +113,14 @@ describe('Filter', () => { }); }); - describe('содержимое пунктов', () => { - it('передано корректно, если items - массив строк', () => { - expect(getContent().nativeElement.textContent.trim()).toBe('Одежда и обувь'); + describe('content items', () => { + it('passed correctly if items is an array of strings', () => { + expect(getContent().nativeElement.textContent.trim()).toBe( + 'Clothes and footwear', + ); }); - it('передано корректно, если items - массив объектов с toString', () => { + it('passed correctly if items is an array of objects with toString', () => { testComponent.items = ARR_OBJECT; fixture.detectChanges(); @@ -127,25 +129,25 @@ describe('Filter', () => { }); describe('badge', () => { - it('отсутствует, если badgeHandler возвращает NaN', () => { + it('missing if badgeHandler returns NaN', () => { expect(getBadge()).toBeNull(); }); - it('отсутствует, если badgeHandler возвращает 0', () => { + it('missing if badgeHandler returns 0', () => { testComponent.items = ARR_OBJECT_WITH_ZERO_BADGE; fixture.detectChanges(); expect(getBadge()).toBeNull(); }); - it('присутствует, если badgeHandler возвращает число', () => { + it('present if badgeHandler returns a number', () => { testComponent.items = ARR_OBJECT; fixture.detectChanges(); expect(getBadge()).not.toBeNull(); }); - it('имеет корректное значение', () => { + it('has the correct meaning', () => { testComponent.items = ARR_OBJECT; fixture.detectChanges(); @@ -153,22 +155,22 @@ describe('Filter', () => { }); }); - describe('disabled элемент', () => { - it('отсутствует по умолчанию', () => { + describe('disabled element', () => { + it('false by default', () => { expect(getCheckbox().nativeElement.classList.contains('_disabled')).toBe( false, ); }); - it('присутствует, если disabledHandler вернул true', () => { - testComponent.disabledItemHandler = item => item.indexOf('обувь') > -1; + it('present if disabledHandler returned true', () => { + testComponent.disabledItemHandler = item => item.indexOf('footwear') > -1; fixture.detectChanges(); expect(getCheckbox().componentInstance.ngControl.isDisabled).toBe(true); }); }); describe('size', () => { - it('если m, то и у CheckboxBlock, и у badge - m', () => { + it('if m, then both CheckboxBlock and badge have m', () => { testComponent.items = ARR_OBJECT; fixture.detectChanges(); @@ -176,7 +178,7 @@ describe('Filter', () => { expect(getBadge().attributes['data-tui-host-size']).toBe('m'); }); - it('если s, то и у CheckboxBlock, и у badge - s', () => { + it('if s, then both CheckboxBlock and badge have s', () => { testComponent.items = ARR_OBJECT; testComponent.size = 's'; fixture.detectChanges(); diff --git a/projects/kit/components/input-count/test/input-count.component.spec.ts b/projects/kit/components/input-count/test/input-count.component.spec.ts index 33a96506f732..8bdbd069f30a 100644 --- a/projects/kit/components/input-count/test/input-count.component.spec.ts +++ b/projects/kit/components/input-count/test/input-count.component.spec.ts @@ -65,14 +65,14 @@ describe('InputCount', () => { inputPO = new NativeInputPO(fixture, `tui-primitive-textfield__native-input`); }); - describe('Инициализация', () => { - describe('Значение не передано', () => { + describe('Initialization', () => { + describe('Value not passed', () => { beforeEach(() => { testComponent.defaultStep = true; fixture.detectChanges(); }); - it('При инициализации отображается fallback значение 0, контрол не меняет значения', done => { + it('During initialization, fallback value 0 is displayed, control does not change values', done => { fixture.whenStable().then(() => { expect(inputPO.value).toBe('0'); expect(testComponent.control.value).toBe(null); @@ -81,14 +81,14 @@ describe('InputCount', () => { }); }); - describe('Значение передано при создании контрола', () => { + describe('The value was passed when creating the control', () => { beforeEach(() => { testComponent.control.setValue(12); testComponent.defaultStep = true; fixture.detectChanges(); }); - it('При инициализации значение не меняется', done => { + it('Value does not change during initialization', done => { fixture.whenStable().then(() => { expect(inputPO.value).toBe('12'); expect(testComponent.control.value).toBe(12); @@ -98,8 +98,8 @@ describe('InputCount', () => { }); }); - describe('Изменение значения при помощи кнопок', () => { - describe('шаг не задан', () => { + describe('Change value using buttons', () => { + describe('step not set', () => { beforeEach(done => { testComponent.defaultStep = true; testComponent.control.setValue(1); @@ -109,21 +109,21 @@ describe('InputCount', () => { }); }); - it('Нажатие на "плюс" увеличивает значение на 1', () => { + it('Pressing the plus increases the value by 1', () => { clickPlusButton(); expect(inputPO.value).toBe('2'); expect(testComponent.control.value).toBe(2); }); - it('Нажатие на "минус" уменьшает значение на 1', () => { + it('Pressing the minus decreases the value by 1', () => { clickMinusButton(); expect(inputPO.value).toBe('0'); expect(testComponent.control.value).toBe(0); }); - it('При readOnly нажатие на "плюс" и "минус" игнорируются', () => { + it('With readOnly, plus and minus presses are ignored', () => { testComponent.readOnly = true; fixture.detectChanges(); @@ -139,7 +139,7 @@ describe('InputCount', () => { }); }); - describe('Задан шаг, отличный от 1', () => { + describe('A step other than 1 is set', () => { beforeEach(() => { testComponent.customStep = true; testComponent.control.setValue(6); @@ -149,37 +149,37 @@ describe('InputCount', () => { fixture.detectChanges(); }); - it('Нажатие на "плюс" увеличивает значение на заданный шаг', () => { + it('Pressing the plus increases the value by the specified step', () => { clickPlusButton(); expect(inputPO.value).toBe('11'); expect(testComponent.control.value).toBe(11); }); - it('Нажатие на "минус" уменьшает значение на заданный шаг', () => { + it('Pressing the "minus" decreases the value by a given step', () => { clickMinusButton(); expect(inputPO.value).toBe('1'); expect(testComponent.control.value).toBe(1); }); - it('Невозможно сделать значение больше, чем maxValue', () => { - clickPlusButton(); // новое значение стало 11 - clickPlusButton(); // новое значение стало бы 16, но это больше maxValue + it('Cannot make value greater than maxValue', () => { + clickPlusButton(); // the new value is 11 + clickPlusButton(); // the new value would be 16, but it is greater than maxValue expect(inputPO.value).toBe('12'); expect(testComponent.control.value).toBe(12); }); - it('Невозможно сделать значение меньше, чем min', () => { - clickMinusButton(); // значение стало === 1 - clickMinusButton(); // новое значение стало бы -4, но это меньше min + it('Cannot make value less than min', () => { + clickMinusButton(); // value became === 1 + clickMinusButton(); // the new value would be -4, but it's less than min expect(inputPO.value).toBe(testComponent.min.toString()); expect(testComponent.control.value).toBe(testComponent.min); }); - it('Если значение равно максимальному, кнопка "плюс" дизейблится', done => { + it('If the value is equal to the maximum, the "plus" button is disabled', done => { testComponent.control.setValue(12); fixture.detectChanges(); @@ -190,7 +190,7 @@ describe('InputCount', () => { }); }); - it('Если значение равно минимальному, кнопка "минус" дизейблится', done => { + it('If the value is equal to the minimum, the "minus" button is disabled', done => { testComponent.control.setValue(testComponent.min); fixture.detectChanges(); @@ -203,12 +203,12 @@ describe('InputCount', () => { }); }); - describe('Изменение значения при помощи текстового поля', () => { + describe('Changing a value using a text box', () => { beforeEach(() => { testComponent.defaultStep = true; }); - it('Ввод в поле изменяет значение контрола', () => { + it('Entering in the field changes the valuecontrol', () => { fixture.detectChanges(); inputPO.sendText('12'); @@ -216,7 +216,7 @@ describe('InputCount', () => { expect(testComponent.control.value).toBe(12); }); - it('Ввод в поле большого числа изменяет значение на предельное значение', () => { + it('Entering a large number in the field changes the value to the limit', () => { fixture.detectChanges(); inputPO.sendText('43000789'); @@ -224,7 +224,7 @@ describe('InputCount', () => { expect(testComponent.control.value).toBe(testComponent.max); }); - it('Если ввести число, меньшее min, новое значение равно min', done => { + it('If you enter a number less than min, the new value is min', done => { testComponent.min = 10; fixture.detectChanges(); @@ -237,7 +237,7 @@ describe('InputCount', () => { }); }); - it('Если ввести число, большее max, новое значение равно max', () => { + it('If you enter a number greater than max, the new value is max', () => { testComponent.max = 10; fixture.detectChanges(); @@ -247,7 +247,7 @@ describe('InputCount', () => { expect(testComponent.control.value).toBe(10); }); - it('Если стереть содержимое поля, восстанавливается минимальное значение', done => { + it('If you erase the field contents, the minimum value is restored', done => { testComponent.control.setValue(123); fixture.detectChanges(); @@ -264,7 +264,7 @@ describe('InputCount', () => { }); }); - describe('Изменение значения при помощи стрелок на клавиатуре', () => { + describe('Changing the value using the arrows on the keyboard', () => { beforeEach(() => { testComponent.customStep = true; testComponent.control.setValue(10); @@ -274,38 +274,38 @@ describe('InputCount', () => { fixture.detectChanges(); }); - it('Нажатие стрелки вверх увеличивает значение на заданный шаг', () => { + it('Pressing the up arrow increases the value by the specified step', () => { inputPO.sendKeydown('ArrowUp'); expect(inputPO.value).toBe('15'); expect(testComponent.control.value).toBe(15); }); - it('Нажатие стрелки вниз уменьшает значение на заданный шаг', () => { + it('Pressing the down arrow decreases the value by the specified step', () => { inputPO.sendKeydown('ArrowDown'); expect(inputPO.value).toBe('5'); expect(testComponent.control.value).toBe(5); }); - it('Невозможно сделать значение больше, чем maxValue', () => { - inputPO.sendKeydown('ArrowUp'); // value стало === 15 - inputPO.sendKeydown('ArrowUp'); // value должно было стать 20, но это > maxValue + it('Cannot make value greater than maxValue', () => { + inputPO.sendKeydown('ArrowUp'); // value became === 15 + inputPO.sendKeydown('ArrowUp'); // value should have become 20, but it's > maxValue expect(inputPO.value).toBe('17'); expect(testComponent.control.value).toBe(17); }); - it('Невозможно сделать значение меньше, чем min', () => { - inputPO.sendKeydown('ArrowDown'); // value стало === 5 - inputPO.sendKeydown('ArrowDown'); // value должно было стать 0, но это < min + it('Cannot make value less than min', () => { + inputPO.sendKeydown('ArrowDown'); // value became === 5 + inputPO.sendKeydown('ArrowDown'); // value should have become 0, but it's < min expect(inputPO.value).toBe('2'); expect(testComponent.control.value).toBe(2); }); }); - it('maxlength по умолчанию установлено на 18', () => { + it('maxlength is set to 18 by default', () => { testComponent.defaultStep = true; fixture.detectChanges(); diff --git a/projects/kit/components/input-date-range/test/input-range-calendar.component.spec.ts b/projects/kit/components/input-date-range/test/input-range-calendar.component.spec.ts index b25284696348..77812f129648 100644 --- a/projects/kit/components/input-date-range/test/input-range-calendar.component.spec.ts +++ b/projects/kit/components/input-date-range/test/input-range-calendar.component.spec.ts @@ -79,14 +79,14 @@ describe('InputDateRangeComponent', () => { }); }); - describe('Клик на поле ввода', () => { - it('открывает календарь', () => { + describe('Click on the input field', () => { + it('opens the calendar', () => { clickOnTextfield(); expect(getCalendars()).not.toBeNull(); }); - it('при повторном клике закроет календарь', () => { + it('close the calendar when clicked again', () => { clickOnTextfield(); clickOnTextfield(); @@ -94,7 +94,7 @@ describe('InputDateRangeComponent', () => { }); }); - describe('выпадающий календарь', () => { + describe('dropdown calendar', () => { let y2000m0d1: TuiDay; let y2000m0d2: TuiDay; @@ -105,15 +105,15 @@ describe('InputDateRangeComponent', () => { fixture.detectChanges(); }); - describe('закрывается при выборе', () => { - it('той же даты', () => { + describe('closes when selected', () => { + it('same date', () => { component.onRangeChange(new TuiDayRange(y2000m0d1, y2000m0d1)); fixture.detectChanges(); expect(getCalendars()).toBeNull(); }); - it('другой даты', () => { + it('another date', () => { component.onRangeChange(new TuiDayRange(y2000m0d2, y2000m0d2)); fixture.detectChanges(); @@ -122,7 +122,7 @@ describe('InputDateRangeComponent', () => { }); }); - describe('Ввод с клавиатуры', () => { + describe('Keyboard input', () => { beforeEach(done => { fixture.whenStable().then(() => { fixture.detectChanges(); @@ -130,19 +130,19 @@ describe('InputDateRangeComponent', () => { }); }); - it('При вводе неверной даты значение корректируется', () => { + it('If you enter an invalid date, the value is adjusted', () => { inputPO.sendText('32.12.2012'); expect(inputPO.value).toBe('31.12.2012'); }); - it('При вводе первой даты значение контрола — null', () => { + it('When entering the first date, the control value is null', () => { inputPO.sendText('31.12.2012'); expect(testComponent.control.value).toBeNull(); }); - it('При вводе двух дат значение контрола обновляется', () => { + it('When entering two dates, the control value is updated', () => { inputPO.sendText(`15.07.2000${RANGE_SEPARATOR_CHAR}15.07.2020`); expect(testComponent.control.value.formattedDayRange).toBe( @@ -150,7 +150,7 @@ describe('InputDateRangeComponent', () => { ); }); - it('При вводе двух дат значение обрезается по min/max обновляется', () => { + it('When entering two dates, the value is truncated by min / max is updated', () => { testComponent.min = new TuiDay(2001, 6, 15); testComponent.max = new TuiDay(2019, 6, 15); fixture.detectChanges(); diff --git a/projects/kit/components/input-date/test/input-calendar.component.spec.ts b/projects/kit/components/input-date/test/input-calendar.component.spec.ts index faa74daacfbf..dfbe65cb088f 100644 --- a/projects/kit/components/input-date/test/input-calendar.component.spec.ts +++ b/projects/kit/components/input-date/test/input-calendar.component.spec.ts @@ -29,7 +29,7 @@ describe('InputDate', () => { [tuiTextfieldSize]="size" [tuiHintContent]="hintContent" > - Выберите дату + Select date `, @@ -50,7 +50,7 @@ describe('InputDate', () => { size: TuiSizeS | TuiSizeL = 'm'; - hintContent: string | null = 'Подсказка'; + hintContent: string | null = 'prompt'; exampleText = ''; } @@ -106,7 +106,7 @@ describe('InputDate', () => { }); }); - it('Если есть min и начальное значение, и начальное значение меньше min - оставлять начальное значение', done => { + it('If there is min and an initial value and an initial value less than min - keep the initial value', done => { testComponent.min = new TuiDay(2018, 3, 11); fixture.detectChanges(); @@ -119,26 +119,26 @@ describe('InputDate', () => { }); }); - describe('Ввод с клавиатуры', () => { - it('Переданная дата вставляется в поле', () => { + describe('Keyboard input', () => { + it('The passed date is inserted into the field', () => { inputPO.sendText('01.03.2017'); expect(inputPO.value).toBe('01.03.2017'); }); - it('При вводе неверной даты значение корректируется', () => { + it('If you enter an invalid date, the value is adjusted', () => { inputPO.sendText('32.12.2012'); expect(inputPO.value).toBe('31.12.2012'); }); - it('При вводе неполной даты оставляет её в поле', () => { + it('When entering an incomplete date, leaves it in the field', () => { inputPO.sendText('31.12.20'); expect(inputPO.value).toBe('31.12.20'); }); - it('При вводе неполной даты значение контрола — null', () => { + it('When entering an incomplete date, the control value is null', () => { inputPO.sendText('31.12.20'); expect(testComponent.control.value).toBeNull(); @@ -146,23 +146,23 @@ describe('InputDate', () => { }); describe('textfield', () => { - describe('при mousedown на него', () => { - describe('если поле не заблокировано и не только для чтения', () => { - it('открывает календарь', () => { + describe('when mousedown on it', () => { + describe('unless the field is locked and not read-only', () => { + it('opens the calendar', () => { mouseDownOnTextfield(); expect(getCalendar()).not.toBeNull(); }); - it('при повторном mousedown закроет календарь', () => { + it('on repeated mousedown will close the calendar', () => { mouseDownOnTextfield(); mouseDownOnTextfield(); expect(getCalendar()).toBeNull(); }); - describe('если поле заблокировано', () => { - it('календарь не открывается', () => { + describe('if the field is locked', () => { + it('the calendar does not open', () => { testComponent.control.disable(); fixture.detectChanges(); mouseDownOnTextfield(); @@ -171,8 +171,8 @@ describe('InputDate', () => { }); }); - describe('если поле readOnly', () => { - it('календарь не открывается', () => { + describe('if the readOnly field', () => { + it('the calendar does not open', () => { testComponent.readOnly = true; fixture.detectChanges(); mouseDownOnTextfield(); diff --git a/projects/kit/components/input-file/input-file.component.ts b/projects/kit/components/input-file/input-file.component.ts index 7a07092911ed..b9d6750d48ad 100644 --- a/projects/kit/components/input-file/input-file.component.ts +++ b/projects/kit/components/input-file/input-file.component.ts @@ -316,7 +316,7 @@ export class TuiInputFileComponent texts: Record<'maxSizeRejectionReason' | 'formatRejectionReason', string>, units: [string, string, string], ) { - // IE11 после выбора файла через диалог открытия генерирует второе событие, передавая пустой FileList. + // IE11 after selecting a file through the open dialog generates a second event passing an empty FileList. if (files === null || files.length === 0) { return; } diff --git a/projects/kit/components/input-inline/test/input-inline.component.spec.ts b/projects/kit/components/input-inline/test/input-inline.component.spec.ts index 61688a05cc6a..6af805c5452f 100644 --- a/projects/kit/components/input-inline/test/input-inline.component.spec.ts +++ b/projects/kit/components/input-inline/test/input-inline.component.spec.ts @@ -41,23 +41,23 @@ describe('InputInline', () => { }); describe('placeholder', () => { - it('отображается, если нет значения', () => { + it('displayed if no value', () => { expect(getPlaceholder()).not.toBeNull(); }); - it('не отображается, если есть значение', () => { + it('not displayed if there is a value', () => { testComponent.control.setValue('123'); fixture.detectChanges(); expect(getPlaceholder()).toBeNull(); }); }); - describe('поле ввода', () => { - it('редактируемо, если не заблокировано', () => { + describe('entry field', () => { + it('editable if not locked', () => { expect(getNative()!.nativeElement.disabled).toBe(false); }); - it('не редактируемо, если заблокировано', done => { + it('not editable if locked', done => { testComponent.control.disable(); fixture.detectChanges(); diff --git a/projects/kit/components/input-number/test/input-number.component.spec.ts b/projects/kit/components/input-number/test/input-number.component.spec.ts index 626a69f88519..9c761495f10f 100644 --- a/projects/kit/components/input-number/test/input-number.component.spec.ts +++ b/projects/kit/components/input-number/test/input-number.component.spec.ts @@ -29,7 +29,7 @@ describe('InputNumber', () => { [tuiTextfieldExampleText]="exampleText" [tuiHintContent]="hintContent" > - Введите сумму + Enter the amount @@ -49,7 +49,7 @@ describe('InputNumber', () => { cleaner = true; defaultValues = false; size: TuiSizeS | TuiSizeL = 'm'; - hintContent: string | null = 'Подсказка'; + hintContent: string | null = 'prompt'; exampleText = 'placeholder'; } @@ -82,13 +82,13 @@ describe('InputNumber', () => { inputPO = new NativeInputPO(fixture, `tui-primitive-textfield__native-input`); }); - describe('Значения по умолчанию:', () => { + describe('Default values:', () => { beforeEach(() => { testComponent.defaultValues = true; fixture.detectChanges(); }); - it('Нулевые копейки не показаны', done => { + it('Zero pennies are not shown', done => { testComponent.control.setValue(1234.0); fixture.detectChanges(); @@ -101,7 +101,7 @@ describe('InputNumber', () => { }); }); - it('Ненулевые копейки показаны', done => { + it('Non-zero pennies are shown', done => { testComponent.control.setValue(12.345); fixture.detectChanges(); @@ -113,7 +113,7 @@ describe('InputNumber', () => { }); }); - it(`Ненулевые копейки не показаны при decimal = 'never'`, done => { + it(`Non-zero pennies are not shown when decimal = 'never'`, done => { testComponent.control.setValue(12.3); fixture.detectChanges(); @@ -124,7 +124,7 @@ describe('InputNumber', () => { }); }); - it('Знак минус отсутствует при отрицательных значениях при min >= 0', done => { + it('There is no minus sign for negative values ​​with min> = 0', done => { testComponent.component.min = 0; testComponent.control.setValue(-12345); fixture.detectChanges(); @@ -138,7 +138,7 @@ describe('InputNumber', () => { }); }); - it('Знак минус отсутствует при неотрицательном значении min', done => { + it('No minus sign for non-negative min', done => { testComponent.component.min = 10; testComponent.control.setValue(-12345); fixture.detectChanges(); @@ -152,47 +152,47 @@ describe('InputNumber', () => { }); }); - describe('onValue | обновление значений формы', () => { - describe('Недозаполненное значение передаёт в форму null', () => { - it(`Значение ''`, () => { + describe('onValue | updating form values', () => { + describe('An incomplete value is passed to the form null', () => { + it(`Value ''`, () => { component.onValue(''); expect(testComponent.control.value).toBe(null); }); - it(`Значение '-'`, () => { + it(`Value '-'`, () => { component.onValue('-'); expect(testComponent.control.value).toBe(null); }); - it(`Значение ','`, () => { + it(`Value ','`, () => { component.onValue(','); expect(testComponent.control.value).toBe(null); }); - it(`Значение '-,'`, () => { + it(`Value '-,'`, () => { component.onValue('-,'); expect(testComponent.control.value).toBe(null); }); }); - describe('Свойства min и max', () => { + describe('The min and max properties', () => { beforeEach(() => { inputPO.sendText(''); testComponent.control.setValue(null); }); - it('Значение меньше положительного min не обновляет контрол', () => { + it('A value less than positive min does not update the control', () => { testComponent.component.min = 15; component.onValue(`10`); expect(testComponent.control.value).toBe(null); }); - it('Значение больше max обрезается до max', () => { + it('A value greater than max is clipped to max', () => { const savedMax = 25; testComponent.component.max = savedMax; @@ -201,14 +201,14 @@ describe('InputNumber', () => { expect(testComponent.control.value).toBe(savedMax); }); - it('Значение больше отрицательного max не обновляет контрол', () => { + it('A value greater than negative max does not update the control', () => { testComponent.component.max = -15; component.onValue(`-10`); expect(testComponent.control.value).toBe(null); }); - it('Значение меньше отрицательного min обрезается до min', () => { + it('A value less than negative min is truncated to min', () => { const savedMin = -25; testComponent.component.min = savedMin; @@ -218,20 +218,20 @@ describe('InputNumber', () => { }); }); - it(`Корректно заполненное значение передаёт в форму number`, () => { + it(`The correctly filled value is passed to the form number`, () => { component.onValue(`-12${CHAR_NO_BREAK_SPACE}345,67`); expect(testComponent.control.value).toBe(-12345.67); }); }); - describe('computedValue | значение для отображения', () => { - describe('Значение формы null не меняет отображаемое значение', () => { + describe('computedValue | value to display', () => { + describe('Form value null does not change the displayed value', () => { beforeEach(() => { testComponent.control.setValue(null); }); - it(`Значение ''`, () => { + it(`Value ''`, () => { const value = ''; inputPO.nativeElement.value = value; @@ -239,7 +239,7 @@ describe('InputNumber', () => { expect(component.computedValue).toBe(value); }); - it(`Значение '-'`, () => { + it(`Value '-'`, () => { const value = '-'; inputPO.nativeElement.value = value; @@ -247,7 +247,7 @@ describe('InputNumber', () => { expect(component.computedValue).toBe(value); }); - it(`Значение ','`, () => { + it(`Value ','`, () => { const value = ','; inputPO.nativeElement.value = value; @@ -255,7 +255,7 @@ describe('InputNumber', () => { expect(component.computedValue).toBe(value); }); - it(`Значение '-,'`, () => { + it(`Value '-,'`, () => { const value = '-,'; inputPO.nativeElement.value = value; @@ -264,13 +264,13 @@ describe('InputNumber', () => { }); }); - it(`Заданное значение из формы корректно преобразовывается в строку`, () => { + it(`The given value from the form is correctly converted to a string`, () => { testComponent.control.setValue(-12345.67); expect(component.computedValue).toBe(`-12${CHAR_NO_BREAK_SPACE}345,67`); }); - it(`Не обрезает нули, если инпут в фокусе`, () => { + it(`Doesn't trim zeros if the input is focused`, () => { component.decimal = TuiDecimal.NotZero; inputPO.focus(); @@ -280,7 +280,7 @@ describe('InputNumber', () => { expect(component.computedValue).toBe('10,0'); }); - it(`форматирует значение, если элемент вне фокуса`, () => { + it(`formats a value if the element is out of focus`, () => { component.decimal = TuiDecimal.NotZero; inputPO.sendText('10,0'); @@ -289,14 +289,14 @@ describe('InputNumber', () => { }); }); - it('maxlength по умолчанию установлено на 18', () => { + it('maxlength is set to 18 by default', () => { const nativeInput = getNativeInput()!.nativeElement; expect(nativeInput.getAttribute('maxlength')).toBe('18'); }); describe('При decimal === always', () => { - it(`Добавляет определенное свойством precision количество нулей при обновлении Value целым числом`, () => { + it(`Adds the number of zeros specified by the precision property when updating Value with an integer`, () => { const value = '123'; const precision = 2; diff --git a/projects/kit/components/input-password/test/input-password.component.spec.ts b/projects/kit/components/input-password/test/input-password.component.spec.ts index 42411ecfe4f6..de16a4c6b392 100644 --- a/projects/kit/components/input-password/test/input-password.component.spec.ts +++ b/projects/kit/components/input-password/test/input-password.component.spec.ts @@ -57,8 +57,8 @@ describe('InputPassword', () => { fixture.detectChanges(); }); - describe('Поведение иконки "Показать пароль"', () => { - it('Изначально она присутствует и представляет собой "Закрытый глаз"', () => { + describe('Behavior of the Show Password icon"', () => { + it('It is initially present and represents the "Closed Eye"', () => { const icon = getIcon(); const iconSrc = component.icon; @@ -66,7 +66,7 @@ describe('InputPassword', () => { expect(iconSrc).toBe('tuiIconHideLarge'); }); - it('При клике на нее иконка представляет собой "Открытый глаз"', () => { + it('When you click on it, the icon represents "Open eye"', () => { const icon = getIcon(); icon!.nativeElement.click(); @@ -77,7 +77,7 @@ describe('InputPassword', () => { expect(iconSrc).toBe('tuiIconShowLarge'); }); - it('В маленьком размере иконки маленькие', () => { + it('Small icons are small', () => { testComponent.size = 's'; fixture.detectChanges(); @@ -94,14 +94,14 @@ describe('InputPassword', () => { expect(iconSrc).toBe('tuiIconEyeOpen'); }); - it('Если readOnly - иконки нет', () => { + it('If readOnly - no icon', () => { testComponent.readOnly = true; fixture.detectChanges(); expect(getIcon()).toBeNull(); }); - it('Если disabled - иконки нет', () => { + it('If disabled - no icon', () => { testComponent.control.disable(); fixture.detectChanges(); @@ -109,14 +109,14 @@ describe('InputPassword', () => { }); }); - describe('Видимость введенного в поле', () => { - it('Изначально поле type="password", поэтому при вводе видно только точки', () => { + describe('Field visibility', () => { + it('Initially, the field is type = "password", so only dots are visible when entering', () => { const inputType = component.inputType; expect(inputType).toBe('password'); }); - it('При клике на иконку "Показать пароль" поле становится type="text"', () => { + it('When you click on the "Show password" icon, the field becomes type = "text"', () => { getIcon()!.nativeElement.click(); const inputType = component.inputType; @@ -124,7 +124,7 @@ describe('InputPassword', () => { expect(inputType).toBe('text'); }); - it('При readOnly поле type="password"', () => { + it('With readOnly, the type field="password"', () => { testComponent.readOnly = true; fixture.detectChanges(); @@ -133,7 +133,7 @@ describe('InputPassword', () => { expect(inputType).toBe('password'); }); - it('При disabled поле type="password"', () => { + it('When the field is disabled type="password"', () => { testComponent.control.disable(); fixture.detectChanges(); diff --git a/projects/kit/components/input-phone/test/input-phone.component.spec.ts b/projects/kit/components/input-phone/test/input-phone.component.spec.ts index d1b12b817d22..577de9db03e1 100644 --- a/projects/kit/components/input-phone/test/input-phone.component.spec.ts +++ b/projects/kit/components/input-phone/test/input-phone.component.spec.ts @@ -68,19 +68,19 @@ describe('InputPhone', () => { inputPO = new NativeInputPO(fixture, `tui-primitive-textfield__native-input`); }); - describe('Начальное значение', () => { - it('Значение в поле отформатировано по маске', done => { + describe('Initial value', () => { + it('The value in the field is formatted by mask', done => { fixture.whenStable().then(() => { expect(inputPO.value).toBe('+7 911 033-01-02'); done(); }); }); - it('Исходное значение в formControl не изменилось и не содержит скобок', () => { + it('The original value in the formControl has not changed and does not contain brackets', () => { expect(testComponent.control.value).toBe('+79110330102'); }); - it('При фокусе на пустое поле, в поле выставляется "+7 "', done => { + it('When focusing on an empty field, the field is set "+7 "', done => { testComponent.control.reset(); fixture.detectChanges(); inputPO.focus(); @@ -91,7 +91,7 @@ describe('InputPhone', () => { }); }); - it('При фокусе пустого поля, +7 не добавляется в контрол"', done => { + it('When focusing an empty field, +7 is not added to the control"', done => { testComponent.control.reset(); fixture.detectChanges(); inputPO.focus(); @@ -102,7 +102,7 @@ describe('InputPhone', () => { }); }); - it('При фокусе на пустое поле в режиме readOnly, в поле не выставляется "+7 "', done => { + it('When focusing on an empty field in readOnly mode, the field is not set "+7 "', done => { testComponent.control.reset(); testComponent.readOnly = true; fixture.detectChanges(); @@ -114,7 +114,7 @@ describe('InputPhone', () => { }); }); - it('При блюре из поля, в котором введено только "+7 ", значение очищается', () => { + it('When blurring from a field in which only "+7" is entered, the value is cleared', () => { inputPO.nativeElement.focus(); inputPO.nativeElement.blur(); fixture.detectChanges(); @@ -123,7 +123,7 @@ describe('InputPhone', () => { }); }); - describe('Использование различных кодов и маск', () => { + describe('Using different codes and masks', () => { beforeEach(done => { fixture.whenStable().then(() => { testComponent.control.setValue(''); @@ -132,7 +132,7 @@ describe('InputPhone', () => { }); }); - it('Назначении телефонного кода и при фокусе на пустом поле, отображается заданный код', done => { + it('Assigning a dialing code and when focusing on an empty field, the specified code is displayed', done => { testComponent.countryCode = '+850'; fixture.detectChanges(); inputPO.focus(); @@ -143,7 +143,7 @@ describe('InputPhone', () => { }); }); - it('Ввод номера с новым кодом', done => { + it('Entering a number with a new code', done => { testComponent.countryCode = '+850'; testComponent.control.setValue('+8508121234567'); fixture.detectChanges(); @@ -155,7 +155,7 @@ describe('InputPhone', () => { }); }); - it('Новая маска', done => { + it('New mask', done => { testComponent.countryCode = '+850'; testComponent.phoneMaskAfterCountryCode = '#### ## ##-##'; testComponent.control.setValue('+8501234567890'); @@ -168,7 +168,7 @@ describe('InputPhone', () => { }); }); - it('В маску переданы невалидные символы', done => { + it('Invalid characters passed to the mask', done => { testComponent.countryCode = '+850'; testComponent.phoneMaskAfterCountryCode = '(####)+___?$_:-##-@##-!##'; testComponent.control.setValue('+8501234567890'); @@ -182,13 +182,13 @@ describe('InputPhone', () => { }); }); - describe('Значение в formControl меняется снаружи', () => { + describe('The value in the formControl changes outside', () => { beforeEach(() => { testComponent.control.setValue('+78121234567'); fixture.detectChanges(); }); - it('В поле появляется новое отформатированное значение', done => { + it('In the field a new formatted value appears', done => { fixture.whenStable().then(() => { fixture.detectChanges(); expect(inputPO.value).toBe('+7 812 123-45-67'); @@ -196,13 +196,13 @@ describe('InputPhone', () => { }); }); - it('В новое значение в formControl скобки не добавляются', () => { + it('No parentheses are added to the new value in the formControl', () => { expect(testComponent.control.value).toBe('+78121234567'); }); }); - describe('Значение в formControl меняется снаружи на неполный номер', () => { - it('В поле появилась отформатированная часть номера', done => { + describe('The value in the formControl changes outside to an incomplete number', () => { + it('The formatted part of the number appears in the field', done => { testComponent.control.setValue('+78121'); fixture.detectChanges(); fixture.whenStable().then(() => { @@ -212,8 +212,8 @@ describe('InputPhone', () => { }); }); - describe('Значение в formControl меняется снаружи на пустое', () => { - it('Если значение null, в поле при фокусе появилась значение "+7"', done => { + describe('The value in the formControl changes to empty outside', () => { + it('If the value is null, the value "+7" appears in the focus field', done => { testComponent.control.setValue(null); fixture.detectChanges(); inputPO.focus(); @@ -225,7 +225,7 @@ describe('InputPhone', () => { }); }); - it('Если значение пустая строка, в поле при фокусе появилась значение "+7"', done => { + it('If the value is an empty string, the value "+7" appears in the focus field', done => { testComponent.control.setValue(''); inputPO.focus(); @@ -236,7 +236,7 @@ describe('InputPhone', () => { }); }); - it('Если значение было, а после стерли до +7', done => { + it('If the value was, and then deleted to +7', done => { testComponent.control.setValue('+7999'); inputPO.focus(); inputPO.sendText('+7 '); @@ -249,64 +249,64 @@ describe('InputPhone', () => { }); }); - describe('Ввод короткого телефона (меньше 12 символов)', () => { - it('В значение formControl передается короткий телефон', () => { + describe('Entering a short phone number (less than 12 characters)', () => { + it('A short phone number is passed to the formControl value', () => { component.onValueChange('+712345'); fixture.detectChanges(); expect(testComponent.control.value).toBe('+712345'); }); }); - describe('Ввод телефона через Drag&Drop', () => { + describe('Drag & Drop Phone Input', () => { beforeEach(() => { testComponent.control.setValue(''); fixture.detectChanges(); }); - it('Если номер начинается с префикса +7', done => { + it('If the number starts with a prefix +7', done => { onDropRemovePrefix('+71234567890', done); }); - it('Если номер начинается с префикса 7', done => { + it('If the number starts with a prefix 7', done => { onDropRemovePrefix('71234567890', done); }); - it('Если номер начинается с префикса 8', done => { + it('If the number starts with a prefix 8', done => { onDropRemovePrefix('81234567890', done); }); - it('Если номер без префикса', done => { + it('If the number without a prefix', done => { onDropRemovePrefix('1234567890', done); }); - it('Если в номере присутсвуют ненужные символы', done => { + it('If there are unnecessary characters in the room', done => { onDropRemovePrefix('12%3--4(5)6ЕН78?90', done); }); }); - describe('Ввод телефона через copy/paste', () => { + describe('Phone input via copy / paste', () => { beforeEach(() => { testComponent.control.setValue(''); fixture.detectChanges(); }); - it('Если номер начинается с префикса +7', done => { + it('If the number starts with a prefix +7', done => { onPasteRemovePrefix('+71234567890', done); }); - it('Если номер начинается с префикса 7', done => { + it('If the number starts with a prefix 7', done => { onPasteRemovePrefix('71234567890', done); }); - it('Если номер начинается с префикса 8', done => { + it('If the number starts with a prefix 8', done => { onPasteRemovePrefix('81234567890', done); }); - it('Если номер без префикса', done => { + it('If the number without a prefix', done => { onPasteRemovePrefix('1234567890', done); }); - it('Если в номере присутсвуют ненужные символы', done => { + it('If there are unnecessary characters in the room', done => { onPasteRemovePrefix('12%3--4(5)6ЕН78?90', done); }); }); diff --git a/projects/kit/components/input-range/test/input-range.component.spec.ts b/projects/kit/components/input-range/test/input-range.component.spec.ts index 11e425f22ebf..ad71be1132c4 100644 --- a/projects/kit/components/input-range/test/input-range.component.spec.ts +++ b/projects/kit/components/input-range/test/input-range.component.spec.ts @@ -40,8 +40,8 @@ describe('InputRange', () => { quantum = 5; readOnly = false; steps = 0; - minLabel = 'Ничего'; - maxLabel = 'Всё'; + minLabel = 'Nothing'; + maxLabel = 'All'; pluralize = ['год', 'года', 'лет']; } @@ -76,19 +76,19 @@ describe('InputRange', () => { inputPORight = new NativeInputPO(fixture, `${testContext.prefix}native-right`); }); - describe('Значения по-умолчанию', () => { + describe('Default values', () => { beforeEach(() => { testComponent.default = true; fixture.detectChanges(); }); - it('minLabel отсутствует', () => { + it('minLabel is missing', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}min-label`), ).toBeNull(); }); - it('maxLabel отсутствует', () => { + it('maxLabel is missing', () => { testComponent.control.setValue([0, 10]); fixture.detectChanges(); @@ -97,7 +97,7 @@ describe('InputRange', () => { ).toBeNull(); }); - it('Подпись множественного числа отсутствует', () => { + it('Plural signature missing', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}pluralize-left`), ).toBeNull(); @@ -107,8 +107,8 @@ describe('InputRange', () => { }); }); - describe('Лейблы', () => { - it('Подпись множественного числа присутствует', () => { + describe('Labels', () => { + it('Plural signature is present', () => { expect(aid(`${testContext.prefix}pluralize-left`).textContent.trim()).toBe( 'лет', ); @@ -117,13 +117,13 @@ describe('InputRange', () => { ); }); - it('minLabel не показан при start > min', () => { + it('minLabel not shown at start > min', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}min-label`), ).toBeNull(); }); - it('minLabel показан', () => { + it('minLabel is shown', () => { testComponent.control.setValue([-10, 10]); fixture.detectChanges(); @@ -132,7 +132,7 @@ describe('InputRange', () => { ); }); - it('minLabel отсутствует при фокусе', () => { + it('minLabel missing on focus', () => { testComponent.control.setValue([-10, 10]); inputPOLeft.focus(); @@ -141,13 +141,13 @@ describe('InputRange', () => { ).toBeNull(); }); - it('maxLabel не показан при end < max', () => { + it('maxLabel not shown when end { expect( pageObject.getByAutomationId(`${testContext.prefix}min-label`), ).toBeNull(); }); - it('maxLabel показан', () => { + it('maxLabel is shown', () => { testComponent.control.setValue([-10, 10]); fixture.detectChanges(); @@ -156,7 +156,7 @@ describe('InputRange', () => { ); }); - it('maxLabel отсутствует при фокусе', () => { + it('maxLabel missing on focus', () => { testComponent.control.setValue([-10, 10]); inputPORight.focus(); @@ -167,33 +167,33 @@ describe('InputRange', () => { }); describe('quantum', () => { - it('Округляет левое значение до ближайшего кванта при потере фокуса', () => { + it('Rounds the left value to the nearest quantum on loss of focus', () => { inputPOLeft.sendTextAndBlur('-7'); expect(testComponent.control.value[0]).toBe(-5); }); - it('Округляет левое значение поля ввода до ближайшего кванта при потере фокуса', () => { + it('Rounds the left value of an input field to the nearest quantum when focus is lost', () => { inputPOLeft.sendTextAndBlur('-7'); expect(inputPOLeft.value).toBe('-5'); }); - it('Округляет правое значение до ближайшего кванта при потере фокуса', () => { + it('Rounds the right value to the nearest quantum on loss of focus', () => { inputPORight.sendTextAndBlur('7'); expect(testComponent.control.value[1]).toBe(5); }); - it('Округляет правое значение поля ввода до ближайшего кванта при потере фокуса', () => { + it('Rounds the right value of an input field to the nearest quantum on loss of focus', () => { inputPORight.sendTextAndBlur('7'); expect(inputPORight.value).toBe('5'); }); }); - describe('Удаление значений', () => { - it('Не меняет значение при удалении левого содержимого', () => { + describe('Deleting Values', () => { + it("Doesn't change value when left content is removed", () => { inputPOLeft.sendTextAndBlur('-5'); inputPOLeft.sendTextAndBlur(''); @@ -201,7 +201,7 @@ describe('InputRange', () => { expect(inputPOLeft.value).toBe('-5'); }); - it('Не меняет значение при удалении правого содержимого', () => { + it("Doesn't change value when deleting right content", () => { inputPORight.sendTextAndBlur('5'); inputPORight.sendTextAndBlur(''); @@ -210,8 +210,8 @@ describe('InputRange', () => { }); }); - describe('Изменение значений', () => { - it('Не даёт левому значению превысить правое при вводе', () => { + describe('Changing values', () => { + it('Prevents the left value from exceeding the right value when typing', () => { inputPORight.sendTextAndBlur('5'); inputPOLeft.sendTextAndBlur('123'); @@ -219,7 +219,7 @@ describe('InputRange', () => { expect(inputPOLeft.value).toBe(testComponent.control.value[1].toString()); }); - it('Не даёт правому значению стать меньше левого при выходе из поля', () => { + it('Prevents the right value from becoming less than the left value when leaving the field', () => { inputPORight.sendTextAndBlur('-5'); expect(testComponent.control.value[1]).toBe(testComponent.control.value[0]); @@ -227,7 +227,7 @@ describe('InputRange', () => { }); }); - describe('Формат', () => { + describe('Format', () => { beforeEach(() => { testComponent.max = 100000; testComponent.quantum = 0.01; @@ -235,16 +235,16 @@ describe('InputRange', () => { inputPORight.sendTextAndBlur('12345.67'); }); - it('Форматирует ввод', () => { + it('Formats input', () => { expect(inputPORight.value).toBe(`12${CHAR_NO_BREAK_SPACE}345,67`); }); - it('Не форматирует значение', () => { + it("Doesn't format the value", () => { expect(testComponent.control.value[1]).toBe(12345.67); }); }); - describe('Стрелочки', () => { + describe('Arrows', () => { beforeEach(() => { testComponent.min = 0; testComponent.max = 10; @@ -254,7 +254,7 @@ describe('InputRange', () => { }); describe('readOnly', () => { - it('Стрелка вверх на левом поле не увеличивает значение', () => { + it('The up arrow on the left margin does not increase the value', () => { testComponent.readOnly = true; fixture.detectChanges(); @@ -263,7 +263,7 @@ describe('InputRange', () => { expect(testComponent.control.value[0]).toBe(2); }); - it('Стрелка вниз на левом поле не уменьшает значение', () => { + it('Down arrow on left margin does not decrease value', () => { testComponent.readOnly = true; fixture.detectChanges(); @@ -272,7 +272,7 @@ describe('InputRange', () => { expect(testComponent.control.value[0]).toBe(2); }); - it('Стрелка вверх на правом поле не увеличивает значение', () => { + it('The up arrow on the right margin does not increase the value', () => { testComponent.readOnly = true; fixture.detectChanges(); @@ -281,7 +281,7 @@ describe('InputRange', () => { expect(testComponent.control.value[1]).toBe(6); }); - it('Стрелка вниз на правом поле не уменьшает значение', () => { + it('Down arrow on right margin does not decrease value', () => { testComponent.readOnly = true; fixture.detectChanges(); @@ -291,99 +291,99 @@ describe('InputRange', () => { }); }); - describe('Квант', () => { - it('Стрелка вверх на левом поле увеличивает start на квант', () => { + describe('Quantum', () => { + it('The up arrow on the left margin increases start by a quantum', () => { inputPOLeft.sendKeydown('arrowUp'); expect(testComponent.control.value[0]).toBe(3); }); - it('Стрелка вниз на левом поле уменьшает start на квант', () => { + it('The down arrow on the left margin decreases start by a quantum', () => { inputPOLeft.sendKeydown('arrowDown'); expect(testComponent.control.value[0]).toBe(1); }); - it('Стрелка вверх на правом поле увеличивает end на квант', () => { + it('The up arrow on the right margin increases end by a quantum', () => { inputPORight.sendKeydown('arrowUp'); expect(testComponent.control.value[1]).toBe(7); }); - it('Стрелка вниз на правом поле уменьшает end на квант', () => { + it('The down arrow on the right margin decreases end by a quantum', () => { inputPORight.sendKeydown('arrowDown'); expect(testComponent.control.value[1]).toBe(5); }); }); - describe('Шаги', () => { + describe('Steps', () => { beforeEach(() => { testComponent.steps = 5; fixture.detectChanges(); }); - it('Стрелка вверх на левом поле увеличивает start на шаг', () => { + it('The up arrow on the left margin increases start by one step', () => { inputPOLeft.sendKeydown('arrowUp'); expect(testComponent.control.value[0]).toBe(4); }); - it('Стрелка вниз на левом поле уменьшает start на шаг', () => { + it('Down arrow on the left margin decreases start by one step', () => { inputPOLeft.sendKeydown('arrowDown'); expect(testComponent.control.value[0]).toBe(0); }); - it('Стрелка вверх на правом поле увеличивает end на шаг', () => { + it('The up arrow on the right margin increases end by one step', () => { inputPORight.sendKeydown('arrowUp'); expect(testComponent.control.value[1]).toBe(8); }); - it('Стрелка вниз на правом поле уменьшает end на шаг', () => { + it('Down arrow on the right margin decreases end by one step', () => { inputPORight.sendKeydown('arrowDown'); expect(testComponent.control.value[1]).toBe(4); }); }); - describe('Ограничения', () => { - it('Стрелка вверх на левом поле не увеличивает start до значения, больше end', () => { + describe('Limitations', () => { + it('The up arrow on the left margin does not increase start to a value greater than end', () => { testComponent.control.setValue([6, 6]); inputPOLeft.sendKeydown('arrowUp'); expect(testComponent.control.value[0]).toBe(6); }); - it('Стрелка вниз на левом поле не уменьшает start до значения, меньше min', () => { + it('The down arrow on the left margin does not decrease start to a value less than min', () => { testComponent.control.setValue([0, 6]); inputPOLeft.sendKeydown('arrowDown'); expect(testComponent.control.value[0]).toBe(0); }); - it('Стрелка вверх на правом поле не увеличивает end до значения, больше max', () => { + it('The up arrow on the right margin does not increase end to a value greater than max', () => { testComponent.control.setValue([6, 10]); inputPORight.sendKeydown('arrowUp'); expect(testComponent.control.value[1]).toBe(10); }); - it('Стрелка вниз на правом поле не уменьшает end до значения, меньше start', () => { + it('The down arrow on the right margin does not decrease end to a value less than start', () => { testComponent.control.setValue([6, 6]); inputPORight.sendKeydown('arrowDown'); expect(testComponent.control.value[1]).toBe(6); }); - it('Ввод с клавиатуры не выходит за max', () => { + it('Keyboard input does not exceed max', () => { inputPORight.sendText('12345'); expect(inputPORight.value).toBe('10'); }); - it('Ввод с клавиатуры не выходит за min', () => { + it('Keyboard input does not exceed min', () => { testComponent.min = -10; fixture.detectChanges(); inputPOLeft.sendText('-123'); @@ -391,13 +391,13 @@ describe('InputRange', () => { expect(inputPOLeft.value).toBe('-10'); }); - it('Ввод с клавиатуры не выходит за value[1]', () => { + it('Keyboard input does not go beyond value[1]', () => { inputPOLeft.sendText('12345'); expect(inputPOLeft.value).toBe('6'); }); - it('Ввод с клавиатуры не выводит значение value[1] за value[0]', () => { + it('Keyboard input does not output value[1] beyond value[0]', () => { inputPORight.sendText('1'); expect(inputPORight.value).toBe('1'); diff --git a/projects/kit/components/input-slider/test/input-slider.component.spec.ts b/projects/kit/components/input-slider/test/input-slider.component.spec.ts index 245708b522a6..b687e9e5c4e0 100644 --- a/projects/kit/components/input-slider/test/input-slider.component.spec.ts +++ b/projects/kit/components/input-slider/test/input-slider.component.spec.ts @@ -41,8 +41,8 @@ describe('InputSlider', () => { min = -10; quantum = 5; steps = 0; - minLabel = 'Ничего'; - maxLabel = 'Всё'; + minLabel = 'Nothing'; + maxLabel = 'All'; secondary = 'Хоп'; pluralize = ['год', 'года', 'лет']; } @@ -76,23 +76,23 @@ describe('InputSlider', () => { inputPO = new NativeInputPO(fixture, `${testContext.prefix}native`); }); - describe('Значения по-умолчанию', () => { + describe('Default values', () => { beforeEach(() => { testComponent.default = true; fixture.detectChanges(); }); - it('min равен нулю', () => { + it('min is zero', () => { expect(testComponent.component.min).toBe(0); }); - it('minLabel отсутствует', () => { + it('minLabel is missing', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}min-label`), ).toBeNull(); }); - it('maxLabel отсутствует', () => { + it('maxLabel is missing', () => { testComponent.control.setValue(10); fixture.detectChanges(); @@ -101,35 +101,35 @@ describe('InputSlider', () => { ).toBeNull(); }); - it('Подпись множественного числа отсутствует', () => { + it('Plural signature missing', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}pluralize`), ).toBeNull(); }); - it('Лейбл справа отсутствует', () => { + it('There is no label on the right', () => { expect(aid(`${testContext.prefix}secondary`).textContent.trim()).toBe(''); }); }); - describe('Лейблы', () => { - it('Лейбл справа показан', () => { + describe('Labels', () => { + it('The label on the right is shown', () => { expect(aid(`${testContext.prefix}secondary`).textContent.trim()).toBe( testComponent.secondary, ); }); - it('Подпись множественного числа присутствует', () => { + it('Plural signature is present', () => { expect(aid(`${testContext.prefix}pluralize`).textContent.trim()).toBe('лет'); }); - it('minLabel не показан при start > min', () => { + it('minLabel not shown at start> min', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}min-label`), ).toBeNull(); }); - it('minLabel показан', () => { + it('minLabel is shown', () => { testComponent.control.setValue(-10); fixture.detectChanges(); @@ -138,7 +138,7 @@ describe('InputSlider', () => { ); }); - it('minLabel отсутствует при фокусе', () => { + it('minLabel missing on focus', () => { testComponent.control.setValue(-10); inputPO.focus(); @@ -147,13 +147,13 @@ describe('InputSlider', () => { ).toBeNull(); }); - it('maxLabel не показан при end < max', () => { + it('maxLabel not shown when end < max', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}min-label`), ).toBeNull(); }); - it('maxLabel показан', () => { + it('maxLabel is shown', () => { testComponent.control.setValue(10); fixture.detectChanges(); @@ -162,7 +162,7 @@ describe('InputSlider', () => { ); }); - it('maxLabel отсутствует при фокусе', () => { + it('maxLabel missing on focus', () => { testComponent.control.setValue(10); inputPO.focus(); @@ -173,20 +173,20 @@ describe('InputSlider', () => { }); describe('quantum', () => { - it('Округляет значение до ближайшего кванта при потере фокуса', () => { + it('Rounds value to nearest quantum when focus is lost', () => { inputPO.sendTextAndBlur('7'); expect(testComponent.control.value).toBe(5); }); - it('Округляет значение поля ввода до ближайшего кванта при потере фокуса', () => { + it('Rounds the input field value to the nearest quantum when focus is lost', () => { inputPO.sendTextAndBlur('7'); expect(inputPO.value).toBe('5'); }); }); - describe('Формат', () => { + describe('Format', () => { beforeEach(() => { testComponent.max = 100000; testComponent.quantum = 0.01; @@ -194,16 +194,16 @@ describe('InputSlider', () => { inputPO.sendTextAndBlur('12345.67'); }); - it('Форматирует ввод', () => { + it('Formats input', () => { expect(inputPO.value).toBe(`12${CHAR_NO_BREAK_SPACE}345,67`); }); - it('Не форматирует значение', () => { + it(`Doesn't format the value`, () => { expect(testComponent.control.value).toBe(12345.67); }); }); - it('Не меняет значение при удалении содержимого', () => { + it(`Doesn't change value when content is removed`, () => { inputPO.sendTextAndBlur('5'); inputPO.sendTextAndBlur(''); @@ -211,7 +211,7 @@ describe('InputSlider', () => { expect(inputPO.value).toBe('5'); }); - describe('Стрелочки', () => { + describe('Arrows', () => { beforeEach(() => { testComponent.min = 0; testComponent.max = 10; @@ -220,14 +220,14 @@ describe('InputSlider', () => { fixture.detectChanges(); }); - describe('Квант', () => { - it('Стрелка вверх увеличивает значение на квант', () => { + describe('Quantum', () => { + it('Up arrow increases the value by a quantum', () => { inputPO.sendKeydown('arrowUp'); expect(testComponent.control.value).toBe(7); }); - it('Стрелка вниз уменьшает значение на квант', () => { + it('Down arrow decrements the value by a quantum', () => { inputPO.sendKeydown('arrowDown'); expect(testComponent.control.value).toBe(5); @@ -235,7 +235,7 @@ describe('InputSlider', () => { }); describe('readOnly', () => { - it('Стрелка вверх не увеличивает значение', () => { + it('Up arrow does not increase the value', () => { testComponent.readOnly = true; fixture.detectChanges(); @@ -244,7 +244,7 @@ describe('InputSlider', () => { expect(testComponent.control.value).toBe(6); }); - it('Стрелка вниз не уменьшает значение', () => { + it('Down arrow does not decrease value', () => { testComponent.readOnly = true; fixture.detectChanges(); @@ -254,47 +254,47 @@ describe('InputSlider', () => { }); }); - describe('Шаги', () => { + describe('Steps', () => { beforeEach(() => { testComponent.steps = 5; fixture.detectChanges(); }); - it('Стрелка вверх увеличивает значение на шаг', () => { + it('Up arrow increments the value', () => { inputPO.sendKeydown('arrowUp'); expect(testComponent.control.value).toBe(8); }); - it('Стрелка вниз уменьшает значение на шаг', () => { + it('Down arrow decreases the value by one step', () => { inputPO.sendKeydown('arrowDown'); expect(testComponent.control.value).toBe(4); }); }); - describe('Ограничения', () => { - it('Стрелка вверх на увеличивает значение за границу max', () => { + describe('Limitations', () => { + it('Up arrow increases the value out of the max', () => { testComponent.control.setValue(10); inputPO.sendKeydown('arrowUp'); expect(testComponent.control.value).toBe(10); }); - it('Стрелка вниз не уменьшает значение за границу min', () => { + it('Down arrow does not decrease the value beyond the min boundary', () => { testComponent.control.setValue(0); inputPO.sendKeydown('arrowDown'); expect(testComponent.control.value).toBe(0); }); - it('Ввод с клавиатуры не выходит за max', () => { + it('Keyboard input does not exceed max', () => { inputPO.sendText('12345'); expect(inputPO.value).toBe('10'); }); - it('Ввод с клавиатуры не выходит за min', () => { + it('Keyboard input does not exceed min', () => { testComponent.min = -10; fixture.detectChanges(); inputPO.sendText('-123'); diff --git a/projects/kit/components/input-tag/test/input-tag.component.spec.ts b/projects/kit/components/input-tag/test/input-tag.component.spec.ts index c18a27460504..97c3a02e1088 100644 --- a/projects/kit/components/input-tag/test/input-tag.component.spec.ts +++ b/projects/kit/components/input-tag/test/input-tag.component.spec.ts @@ -66,7 +66,7 @@ describe('InputTag', () => { labelOutside = true; exampleText = 'Пример'; size: TuiSizeS | TuiSizeL = 'm'; - hintContent: string | null = 'Подсказка'; + hintContent: string | null = 'prompt'; tagValidator: TuiBooleanHandler = ALWAYS_TRUE_HANDLER; } @@ -121,7 +121,7 @@ describe('InputTag', () => { inputPO = new NativeInputPO(fixture, `${testContext.prefix}native`); }); - describe('Добавление тэгов', () => { + describe('Adding tags', () => { beforeEach(done => { inputPO.focus(); fixture.detectChanges(); @@ -129,23 +129,23 @@ describe('InputTag', () => { fixture.whenStable().then(done); }); - it('Добавляет тэги введённые через запятую', () => { + it('Adds tags separated by commas', () => { expect(component.value[1]).toEqual('1234'); expect(component.value[2]).toEqual('567'); expect(component.value.length).toBe(3); }); - it('Оставляет значение после последней запятой в поле ввода', () => { + it('Leaves the value after the last comma in the input field', () => { expect(inputPO.value).toEqual('89'); }); - it('Не создаёт пустые тэги', () => { + it(`Doesn't create empty tags`, () => { inputPO.sendText(' , ,,,'); expect(component.value.length).toBe(3); }); - it('При выходе из поля добавляет ввод как тэг', done => { + it('When exiting the field adds input as a tag', done => { focusStealer.focus(); fixture.detectChanges(); @@ -156,7 +156,7 @@ describe('InputTag', () => { }); }); - it('При выходе из поля не добавляет пустые тэги', () => { + it('Does not add empty tags when leaving the field', () => { inputPO.sendText(' '); focusStealer.focus(); fixture.detectChanges(); @@ -164,7 +164,7 @@ describe('InputTag', () => { expect(component.value.length).toBe(3); }); - it('При добавлении тэга по выходу из поля поле очищается', done => { + it('When adding a tag on leaving the field, the field is cleared', done => { focusStealer.focus(); fixture.detectChanges(); @@ -174,21 +174,21 @@ describe('InputTag', () => { }); }); - it('При нажатии Enter на поле добавляет ввод как тэг', () => { + it('Pressing Enter on the field adds the input as a tag', () => { inputPO.sendKeydown('enter'); expect(component.value.length).toBe(4); expect(component.value[3]).toBe('89'); }); - it('При нажатии Enter на поле не добавляет пустые тэги', () => { + it('Pressing Enter on the field does not add empty tags', () => { inputPO.sendText(' '); inputPO.sendKeydown('enter'); expect(component.value.length).toBe(3); }); - it('При нажатии Enter на поле поле очищается', done => { + it('Pressing Enter on a field clears the field', done => { inputPO.sendKeydown('enter'); fixture.detectChanges(); @@ -198,17 +198,17 @@ describe('InputTag', () => { }); }); - it('При нажатии Enter не добавляет тег, если disabledItemHandler вернул false', () => { - component.disabledItemHandler = item => item === 'Тег'; - inputPO.sendText('Тег'); + it(`Doesn't add tag on hitting Enter if disabledItemHandler returned false`, () => { + component.disabledItemHandler = item => item === 'Tag'; + inputPO.sendText('Tag'); inputPO.sendKeydown('enter'); expect(component.value.length).toBe(3); }); }); - describe('Добавление тэгов c пробелами при включенной опции allowSpaces', () => { - it('Пробелы сохраняются и не разделяют на теги', fakeAsync(() => { + describe('Adding tags with spaces when the allowSpaces option is enabled', () => { + it('Spaces are preserved and not tagged', fakeAsync(() => { inputPO.focus(); fixture.detectChanges(); tick(); @@ -220,14 +220,14 @@ describe('InputTag', () => { })); }); - describe('Добавление тэгов при выключенной опции allowSpaces', () => { + describe('Adding tags when the allowSpaces option is disabled', () => { beforeEach(() => { testComponent.allowSpaces = false; inputPO.focus(); fixture.detectChanges(); }); - it('разбивает на тэги по пробелу', () => { + it('splits into tags by space', () => { inputPO.sendText('1234 567 89'); expect(component.value[1]).toEqual('1234'); @@ -235,7 +235,7 @@ describe('InputTag', () => { expect(component.value.length).toBe(3); }); - it('разбивает на тэги по неразрывному пробелу', () => { + it('breaks into tags on non-breaking space', () => { inputPO.sendText(`1234${CHAR_NO_BREAK_SPACE}567${CHAR_NO_BREAK_SPACE}89`); expect(component.value[1]).toEqual('1234'); @@ -243,7 +243,7 @@ describe('InputTag', () => { expect(component.value.length).toBe(3); }); - it('разбивает на тэги по запятой', () => { + it('splits into tags by comma', () => { inputPO.sendText('1234,567,89'); expect(component.value[1]).toEqual('1234'); @@ -251,7 +251,7 @@ describe('InputTag', () => { expect(component.value.length).toBe(3); }); - it('При добавлении Space не добавляет тег и не изменяет значение, если tagValidator вернул false', () => { + it('When adding Space does not add tag or change value if tagValidator returned false', () => { const savedLength = component.value.length; const newTag = 'new'; @@ -263,7 +263,7 @@ describe('InputTag', () => { expect(component.value.length).toBe(savedLength); }); - it('При добавлении запятой не добавляет тег и не изменяет значение, если tagValidator вернул false', () => { + it('Adding a comma does not add the tag and does not change the value if tagValidator returned false', () => { const savedLength = component.value.length; const newTag = 'new'; @@ -275,7 +275,7 @@ describe('InputTag', () => { expect(component.value.length).toBe(savedLength); }); - it('Отбрасывает задизебленные теги, поданные через запятую или пробел', () => { + it('Strips away the bad tags, separated by commas or spaces', () => { const firstValidTag = 'first'; const secondValidTag = 'second'; const invalidTag = 'invalid'; @@ -288,7 +288,7 @@ describe('InputTag', () => { }); describe('Cleaner', () => { - it('По умолчанию cleaner отсутствует', () => { + it('There is no cleaner by default', () => { testComponent.defaultInputs = true; fixture.detectChanges(); @@ -297,7 +297,7 @@ describe('InputTag', () => { ).toBeNull(); }); - it('При cleaner === true и пустом поле без тэгов cleaner отсутствует', () => { + it('If cleaner === true and empty field without cleaner tags is missing', () => { testComponent.control.setValue([]); fixture.detectChanges(); @@ -306,7 +306,7 @@ describe('InputTag', () => { ).toBeNull(); }); - it('При cleaner === true и не пустом поле cleaner присутствует', () => { + it('If cleaner === true and not empty, the cleaner field is present', () => { testComponent.control.setValue([]); inputPO.sendText('123'); @@ -315,13 +315,13 @@ describe('InputTag', () => { ).not.toBeNull(); }); - it('При cleaner === true и добавленных тэгах cleaner присутствует', () => { + it('With cleaner === true and added tags, cleaner is present', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}cleaner`), ).not.toBeNull(); }); - it('При нажатии на cleaner очищается поле ввода и тэги', () => { + it('Clicking on cleaner clears the input field and tags', () => { inputPO.sendText('123'); pageObject .getByAutomationId(`${testContext.prefix}cleaner`)! @@ -332,15 +332,15 @@ describe('InputTag', () => { }); }); - describe('Редактирование тэгов', () => { - it('Редактирует тэги', () => { + describe('Editing tags', () => { + it('Edits tags', () => { component.onTagEdited('Hapica', TAG); fixture.detectChanges(); expect(component.value[0]).toBe('Hapica'); }); - it('Переводит фокус на поле ввода после редактирования', () => { + it('Moves focus to the input field after editing', () => { component.onTagEdited('Hapica', TAG); fixture.detectChanges(); @@ -348,8 +348,8 @@ describe('InputTag', () => { }); }); - describe('Переход к тэгам', () => { - it('Переходит к тэгам при нажатии arrowLeft', () => { + describe('Go to tags', () => { + it('Goes to tags when pressing arrowLeft', () => { inputPO.focus(); inputPO.sendKeydown('ArrowLeft'); @@ -361,7 +361,7 @@ describe('InputTag', () => { ).toBe(true); }); - it('Не переходит к тэгам при нажатии arrowLeft, если поле ввода не пустое', () => { + it("Doesn't jump to tags when pressing arrowLeft if input field is not empty", () => { inputPO.focus(); inputPO.sendText('123'); inputPO.sendKeydown('ArrowLeft'); @@ -369,7 +369,7 @@ describe('InputTag', () => { expect(inputPO.focused).toBe(true); }); - it('Переходит к тэгам при нажатии backspace и пустом поле ввода', () => { + it('Goes to tags on backspace and empty input field', () => { inputPO.focus(); inputPO.sendKeydown('backspace'); @@ -381,7 +381,7 @@ describe('InputTag', () => { ).toBe(true); }); - it('Не переходит к тэгам при нажатии backspace и не пустом поле ввода', () => { + it("Doesn't jump to tags when pressing backspace and not empty input field", () => { inputPO.focus(); inputPO.sendText('123'); inputPO.sendKeydown('backspace'); diff --git a/projects/kit/components/input-time/test/input-time.component.spec.ts b/projects/kit/components/input-time/test/input-time.component.spec.ts index fd98f822b37f..e066d28710f5 100644 --- a/projects/kit/components/input-time/test/input-time.component.spec.ts +++ b/projects/kit/components/input-time/test/input-time.component.spec.ts @@ -54,7 +54,7 @@ describe('InputTime', () => { labelOutside = false; size: TuiSizeS | TuiSizeL = 'l'; strict = false; - hintContent: string | null = 'Подсказка'; + hintContent: string | null = 'prompt'; } let fixture: ComponentFixture; @@ -94,27 +94,27 @@ describe('InputTime', () => { }); }); - describe('Начальное значение', () => { - it('Значение в поле отформатировано по маске', done => { + describe('Initial value', () => { + it('The value in the field is formatted by mask', done => { fixture.whenStable().then(() => { expect(inputPO.value).toBe('12:30'); done(); }); }); - it('Исходное значение в formControl выдается в виде объекта со свойствами hours и minutes', () => { + it('The initial value in the formControl is issued as an object with the hours and minutes properties', () => { expect(testComponent.control.value.hours).toBe(12); expect(testComponent.control.value.minutes).toBe(30); }); }); - describe('Значение в formControl меняется снаружи', () => { + describe('The value in the formControl changes outside', () => { beforeEach(() => { testComponent.control.setValue(new TuiTime(22, 30)); fixture.detectChanges(); }); - it('В поле появляется новое отформатированное значение', done => { + it('A new formatted value appears in the field', done => { fixture.whenStable().then(() => { fixture.detectChanges(); fixture.whenStable().then(() => { @@ -124,36 +124,36 @@ describe('InputTime', () => { }); }); - it('В formControl выдается в виде объекта со свойствами hours и minutes', () => { + it('In the formControl is issued as an object with hours and minutes properties', () => { expect(testComponent.control.value.hours).toBe(22); expect(testComponent.control.value.minutes).toBe(30); }); }); - describe('Ввод короткого времени (меньше 5 символов, включая двоеточие)', () => { - it('В значение formControl передается null', () => { + describe('Short time input (less than 5 characters, including colon)', () => { + it('The value of formControl is passed null', () => { component.onValueChange('11:1'); fixture.detectChanges(); expect(testComponent.control.value).toBeNull(); }); }); - describe('Ввод короткого времени (меньше 5 символов, включая двоеточие)', () => { - it('В значение formControl передается null', () => { + describe('Short time input (less than 5 characters, including colon)', () => { + it('The value of formControl is passed null', () => { component.onValueChange('11:1'); fixture.detectChanges(); expect(testComponent.control.value).toBeNull(); }); }); - describe('Управление с клавиатуры', () => { + describe('Keyboard control', () => { beforeEach(done => { fixture.whenStable().then(() => { done(); }); }); - it('Если курсор стоит на позиции 0, то при нажатии UP увеличивается час на 1', () => { + it('If the cursor is at position 0, then pressing UP increases the hour by 1', () => { inputPO.focus(); component.nativeFocusableElement!.setSelectionRange(0, 0); inputPO.sendKeydown('ArrowUp'); @@ -161,7 +161,7 @@ describe('InputTime', () => { expect(inputPO.value).toBe('13:30'); }); - it('Если курсор стоит на позиции 4, то при нажатии UP увеличивается минута на 1', () => { + it('If the cursor is at position 4, then pressing UP increases the minute by 1', () => { inputPO.focus(); component.nativeFocusableElement!.setSelectionRange(4, 4); inputPO.sendKeydown('ArrowUp'); @@ -169,7 +169,7 @@ describe('InputTime', () => { expect(inputPO.value).toBe('12:31'); }); - it('Если курсор стоит на позиции 0, то при нажатии DOWN уменьшается час на 1', () => { + it('If the cursor is at position 0, then pressing DOWN decreases the hour by 1', () => { inputPO.focus(); component.nativeFocusableElement!.setSelectionRange(0, 0); inputPO.sendKeydown('ArrowDown'); @@ -177,7 +177,7 @@ describe('InputTime', () => { expect(inputPO.value).toBe('11:30'); }); - it('Если курсор стоит на позиции 4, то при нажатии DOWN уменьшается минута на 1', () => { + it('If the cursor is at position 4, then pressing DOWN decreases the minute by 1', () => { inputPO.focus(); component.nativeFocusableElement!.setSelectionRange(4, 4); inputPO.sendKeydown('ArrowDown'); @@ -185,7 +185,7 @@ describe('InputTime', () => { expect(inputPO.value).toBe('12:29'); }); - it('При readOnly игнорируются', done => { + it('When readOnly is ignored', done => { testComponent.readOnly = true; inputPO.focus(); component.nativeFocusableElement!.setSelectionRange(0, 0); @@ -202,7 +202,7 @@ describe('InputTime', () => { }); }); - describe('Выпадающий список', () => { + describe('Drop-down list', () => { beforeEach(() => { testComponent.items = TIMES; @@ -210,26 +210,26 @@ describe('InputTime', () => { inputPO.focus(); }); - describe('Выпадашка появляется', () => { - it('при нажатии стрелки вниз', () => { + describe('Dropdown appears', () => { + it('down arrow', () => { inputPO.sendKeydown('arrowDown'); expect(getDropdown()).not.toBeNull(); }); - it('при вводе', () => { + it('when typing', () => { inputPO.sendText('1'); expect(getDropdown()).not.toBeNull(); }); }); - describe('Выпадашка не появляется', () => { - it('Выпадашка не появляется при фокусе', () => { + describe('Dropdown does not appear', () => { + it('Dropdown does not appear on focus', () => { expect(getDropdown()).toBeNull(); }); - it('при нажатии стрелки вниз когда стоит readonly', () => { + it('down arrow when readonly is on', () => { testComponent.readOnly = true; fixture.detectChanges(); inputPO.sendKeydown('arrowDown'); @@ -238,7 +238,7 @@ describe('InputTime', () => { }); }); - it('Ввод фильтрует элементы', () => { + it('Input filters items', () => { inputPO.sendText('3'); expect(pageObject.getAllByAutomationId(`tui-input-time__item`).length).toBe( @@ -246,7 +246,7 @@ describe('InputTime', () => { ); }); - it('Значение подставляется при выборе элемента из выпадашки', () => { + it('The value is substituted when selecting an item from the dropdown', () => { inputPO.sendText('3'); pageObject.getByAutomationId(`tui-input-time__item`)!.nativeElement.click(); @@ -255,14 +255,14 @@ describe('InputTime', () => { ); }); - describe('strict режим', () => { - it('по умолчанию он false, и введенное значение свободно выставляется в контроле', () => { + describe('strict mode', () => { + it('by default it is false, and the entered value is freely exposed in the control', () => { inputPO.sendText('1111'); expect(testComponent.control.value.toString().trim()).toBe('11:11'); }); - it('при strict=true введенное значение не проставляется, если отсутствует в items', () => { + it('with strict = true, the entered value is not set if it is absent in items', () => { testComponent.strict = true; fixture.detectChanges(); inputPO.sendText('1111'); @@ -271,7 +271,7 @@ describe('InputTime', () => { expect(testComponent.control.value.toString().trim()).not.toBe('11:11'); }); - it('при strict=true введенное значение проставляется, если присутствует в items', () => { + it('with strict = true, the entered value is added if present in items', () => { testComponent.strict = true; fixture.detectChanges(); inputPO.sendText('0130'); @@ -280,7 +280,7 @@ describe('InputTime', () => { expect(testComponent.control.value.toString().trim()).toBe('01:30'); }); - it('при strict=true введенное значение округляется к ближайшему в items', () => { + it('with strict = true, the entered value is rounded to the nearest in items', () => { testComponent.strict = true; fixture.detectChanges(); inputPO.sendText('0120'); diff --git a/projects/kit/components/input/test/input.component.spec.ts b/projects/kit/components/input/test/input.component.spec.ts index dc295074948d..bffcc165343b 100644 --- a/projects/kit/components/input/test/input.component.spec.ts +++ b/projects/kit/components/input/test/input.component.spec.ts @@ -81,7 +81,7 @@ describe('Input', () => { exampleText = 'placeholder'; - hintContent: string | null = 'Подсказка'; + hintContent: string | null = 'prompt'; group = new FormGroup({control: new FormControl()}); @@ -124,14 +124,14 @@ describe('Input', () => { inputPO = new NativeInputPO(fixture, `tui-primitive-textfield__native-input`); }); - describe('Автокомплит', () => { + describe('Autocomplete', () => { beforeEach(() => { fixture.detectChanges(); inputPO.focus(); }); - describe('Выпадашка появляется', () => { - it('при нажатии стрелки вниз', () => { + describe('Dropdown appears', () => { + it('down arrow', () => { inputPO.sendKeydown('arrowDown'); expect(getDropdown()).not.toBeNull(); @@ -144,12 +144,12 @@ describe('Input', () => { }); }); - describe('Выпадашка не появляется', () => { - it('Выпадашка не появляется при фокусе', () => { + describe('Dropdown does not appear', () => { + it('Dropdown does not appear on focus', () => { expect(getDropdown()).toBeNull(); }); - it('при нажатии стрелки вниз когда стоит readonly', () => { + it('down arrow when readonly is on', () => { testComponent.readOnly = true; fixture.detectChanges(); inputPO.sendKeydown('arrowDown'); @@ -158,14 +158,14 @@ describe('Input', () => { }); }); - it('Выпадашка скрывается по Esc', () => { + it('Dropdown is hidden by Esc', () => { inputPO.sendText('ен'); inputPO.sendKeydown('escape'); expect(getDropdown()).toBeNull(); }); - it('Значение подставляется при выборе элемента из выпадашки', () => { + it('The value is substituted when selecting an item from the dropdown', () => { inputPO.sendText('ен'); pageObject .getByAutomationId('tui-data-list-wrapper__option')! @@ -175,26 +175,26 @@ describe('Input', () => { }); }); - describe('Обновление состояния контрола', () => { + describe('Updating the state of the control', () => { beforeEach(() => { updateSpy = spyOn(testComponent.component, 'checkControlUpdate'); }); - it('updateValueAndValidity вызывает обновление контрола', () => { + it('updateValueAndValidity causes the control to be updated', () => { testComponent.control.updateValueAndValidity(); fixture.detectChanges(); expect(updateSpy).toHaveBeenCalled(); }); - it('setErrors вызывает обновление контрола', () => { + it('setErrors calls update of the control', () => { testComponent.control.setErrors({test: true}); fixture.detectChanges(); expect(updateSpy).toHaveBeenCalled(); }); - it('Обновление контрола обновляет инпут', done => { + it('Updating the control updates the input', done => { testComponent.control.setValue('321'); fixture.detectChanges(); fixture.whenStable().then(() => { @@ -206,7 +206,7 @@ describe('Input', () => { }); }); - it('updateOn: change обновляется по смене значения', () => { + it('updateOn: change is updated when the value is changed', () => { testComponent.control.setValue('321'); fixture.detectChanges(); inputPO.sendText('123'); @@ -214,7 +214,7 @@ describe('Input', () => { expect(testComponent.control.value).toBe('123'); }); - it('updateOn: blur не обновляется по смене значения', () => { + it('updateOn: blur is not updated on value change', () => { testComponent.group = new FormGroup({ control: new FormControl('321', {updateOn: 'blur'}), }); @@ -226,7 +226,7 @@ describe('Input', () => { expect(testComponent.control.value).toBe('321'); }); - it('updateOn: blur обновляется по выходу из поля', () => { + it('updateOn: blur is updated on leaving the field', () => { testComponent.group = new FormGroup({ control: new FormControl('321', {updateOn: 'blur'}), }); @@ -239,7 +239,7 @@ describe('Input', () => { expect(testComponent.control.value).toBe('123'); }); - it('updateOn: submit не обновляется по смене значения', () => { + it('updateOn: submit is not updated on value change', () => { testComponent.group = new FormGroup({ control: new FormControl('321', {updateOn: 'submit'}), }); @@ -251,7 +251,7 @@ describe('Input', () => { expect(testComponent.control.value).toBe('321'); }); - it('updateOn: submit не обновляется по выходу из поля', () => { + it('updateOn: submit is not updated on leaving the field', () => { testComponent.group = new FormGroup({ control: new FormControl('321', {updateOn: 'submit'}), }); @@ -264,7 +264,7 @@ describe('Input', () => { expect(testComponent.control.value).toBe('321'); }); - it('updateOn: submit обновляется по сабмиту формы', () => { + it('updateOn: submit is updated on form submission', () => { testComponent.group = new FormGroup({ control: new FormControl('321', {updateOn: 'submit'}), }); @@ -278,7 +278,7 @@ describe('Input', () => { }); }); - describe('Возврат в поле при вводе', () => { + describe('Return to field as you type', () => { beforeEach(() => { fixture.detectChanges(); inputPO.focus(); @@ -286,60 +286,60 @@ describe('Input', () => { inputPO.sendKeydown('ArrowDown'); }); - it('Фокус в выпадашке', () => { + it('Focus in the dropdown', () => { expect(activeText()).toBe(ITEMS[0].toString()); }); - it('Ввод символов переносит фокус в поле ввода', () => { + it('Entering characters brings focus to the input field', () => { dispatchOnActive('e'); expect(document.activeElement).toBe(inputPO.nativeElement); }); - it(`Нажатие ${tuiEditingKeys[0]} переносит фокус в поле ввода`, () => { + it(`Pressing ${tuiEditingKeys[0]} moves focus to the input field`, () => { dispatchOnActive(tuiEditingKeys[0]); expect(document.activeElement).toBe(inputPO.nativeElement); }); - it(`Нажатие ${tuiEditingKeys[1]} переносит фокус в поле ввода`, () => { + it(`Pressing ${tuiEditingKeys[1]} moves focus to the input field`, () => { dispatchOnActive(tuiEditingKeys[1]); expect(document.activeElement).toBe(inputPO.nativeElement); }); - it(`Нажатие ${tuiEditingKeys[2]} переносит фокус в поле ввода`, () => { + it(`Pressing ${tuiEditingKeys[2]} moves focus to the input field`, () => { dispatchOnActive(tuiEditingKeys[2]); expect(document.activeElement).toBe(inputPO.nativeElement); }); - it(`Нажатие ${tuiEditingKeys[3]} переносит фокус в поле ввода`, () => { + it(`Pressing ${tuiEditingKeys[3]} moves focus to the input field`, () => { dispatchOnActive(tuiEditingKeys[3]); expect(document.activeElement).toBe(inputPO.nativeElement); }); - it(`Нажатие ${tuiEditingKeys[4]} переносит фокус в поле ввода`, () => { + it(`Pressing ${tuiEditingKeys[4]} moves focus to the input field`, () => { dispatchOnActive(tuiEditingKeys[4]); expect(document.activeElement).toBe(inputPO.nativeElement); }); - it(`Нажатие ${tuiEditingKeys[5]} переносит фокус в поле ввода`, () => { + it(`Pressing ${tuiEditingKeys[5]} moves focus to the input field`, () => { dispatchOnActive(tuiEditingKeys[5]); expect(document.activeElement).toBe(inputPO.nativeElement); }); - it(`Нажатие ${tuiEditingKeys[6]} переносит фокус в поле ввода`, () => { + it(`Pressing ${tuiEditingKeys[6]} moves focus to the input field`, () => { dispatchOnActive(tuiEditingKeys[6]); expect(document.activeElement).toBe(inputPO.nativeElement); }); }); - it('Загрузка показана при items === null', () => { + it('Loading shown when items === null', () => { testComponent.items = null; fixture.detectChanges(); inputPO.focus(); diff --git a/projects/kit/components/island/test/island.component.spec.ts b/projects/kit/components/island/test/island.component.spec.ts index ae4aea0112da..9c86939696a0 100644 --- a/projects/kit/components/island/test/island.component.spec.ts +++ b/projects/kit/components/island/test/island.component.spec.ts @@ -59,13 +59,13 @@ describe('Island', () => { }); describe('size:', () => { - it('если значение не задано, размер айленда m', () => { + it('if not specified, island size m', () => { const size = component.sizeM; expect(size).toBe(true); }); - it('если значение l, размер айленда l', () => { + it('if the value is l, the size of the island is l', () => { testComponent.size = 'l'; fixture.detectChanges(); @@ -76,13 +76,13 @@ describe('Island', () => { }); describe('textAlign:', () => { - it('если значение не задано, текст выровнен по левому краю', () => { + it('if no value is specified, the text is left aligned', () => { const textAlign = component.textAlignLeft; expect(textAlign).toBe(true); }); - it('если передать center, текст будет выровнен по центру', () => { + it('if you pass center, the text will be centered', () => { testComponent.textAlign = TuiTextAlign.Center; fixture.detectChanges(); @@ -93,7 +93,7 @@ describe('Island', () => { }); describe('hoverable:', () => { - it('если true, ховер работает', () => { + it('if true, hover works', () => { testComponent.hoverable = true; fixture.detectChanges(); diff --git a/projects/kit/components/multi-select/test/multi-select.component.spec.ts b/projects/kit/components/multi-select/test/multi-select.component.spec.ts index 0412bddbe536..94ff435976a8 100644 --- a/projects/kit/components/multi-select/test/multi-select.component.spec.ts +++ b/projects/kit/components/multi-select/test/multi-select.component.spec.ts @@ -89,22 +89,22 @@ describe('MultiSelect', () => { fixture.detectChanges(); }); - describe('Поле', () => { - describe('при клике на него', () => { + describe('Field', () => { + describe('when you click on it', () => { beforeEach(() => { // Focus happens before click, after mousedown inputPO.focus(); }); - it('открывает выпадашку', () => { + it('opens a dropdown', () => { getInputTag().nativeElement.click(); fixture.detectChanges(); expect(getDropdown()).not.toBeNull(); }); - describe('не открывает выпадашку', () => { - it('в режиме readOnly', () => { + describe('does not open the dropdown', () => { + it('in readOnly mode', () => { testComponent.readOnly = true; fixture.detectChanges(); getInputTag().nativeElement.click(); @@ -113,7 +113,7 @@ describe('MultiSelect', () => { expect(getDropdown()).toBeNull(); }); - it('если контрол отключен', () => { + it('if control is disabled', () => { testComponent.control.disable(); fixture.detectChanges(); getInputTag().nativeElement.click(); @@ -125,15 +125,15 @@ describe('MultiSelect', () => { }); }); - describe('Стрелочка', () => { - it('Клик по стрелке открывает выпадашку', () => { + describe('Arrow', () => { + it('Click on the arrow to open the dropdown', () => { getArrow()!.nativeElement.click(); fixture.detectChanges(); expect(getDropdown()).not.toBeNull(); }); - it('Повторный клик по стрелке закрывает выпадашку', () => { + it('Clicking the arrow again closes the dropdown', () => { getArrow()!.nativeElement.click(); fixture.detectChanges(); getArrow()!.nativeElement.click(); @@ -142,14 +142,14 @@ describe('MultiSelect', () => { expect(getDropdown()).toBeNull(); }); - it('В режиме readOnly интерактивной стрелочки нет', () => { + it('There is no interactive arrow in readOnly mode', () => { testComponent.readOnly = true; fixture.detectChanges(); expect(getArrow()).toBeNull(); }); - it('В режиме disabled интерактивной стрелочки нет', () => { + it('In disabled mode there is no interactive arrow', () => { testComponent.control.disable(); fixture.detectChanges(); @@ -157,19 +157,19 @@ describe('MultiSelect', () => { }); }); - describe('Клавиатура', () => { + describe('Keyboard', () => { beforeEach(() => { inputPO.focus(); }); - it('Стрелка вниз открывает выпадашку', () => { + it('Down arrow opens a dropdown', () => { inputPO.sendKeydown('ArrowDown'); fixture.detectChanges(); expect(getDropdown()).not.toBeNull(); }); - it('Esc закрывает выпадашку', () => { + it('Esc closes the dropdown', () => { inputPO.sendKeydown('ArrowDown'); fixture.detectChanges(); inputPO.sendKeydown('Escape'); @@ -178,7 +178,7 @@ describe('MultiSelect', () => { expect(getDropdown()).not.toBeNull(); }); - it('В режиме readOnly стрелка вниз не открывает выпадашку', () => { + it('Down arrow does not open dropdown in readOnly mode', () => { testComponent.readOnly = true; fixture.detectChanges(); inputPO.sendKeydown('ArrowDown'); @@ -187,14 +187,14 @@ describe('MultiSelect', () => { expect(getDropdown()).toBeNull(); }); - it('Повторная стрелка вниз переводит фокус на пункт', () => { + it('The repeated down arrow moves focus to the item', () => { inputPO.sendKeydown('ArrowDown'); inputPO.sendKeydown('ArrowDown'); expect(document.activeElement!.tagName.toLowerCase()).toBe('button'); }); - it('Клик снимает выбранный пункт', () => { + it('Click to remove the selected item', () => { inputPO.sendKeydown('ArrowDown'); inputPO.sendKeydown('ArrowDown'); (document.activeElement as HTMLElement).click(); @@ -202,7 +202,7 @@ describe('MultiSelect', () => { expect(testComponent.control.value).toEqual([]); }); - it('Клик выбирает невыбранный пункт', () => { + it('Click to select an unselected item', () => { inputPO.sendKeydown('ArrowDown'); inputPO.sendKeydown('ArrowDown'); (document.activeElement as HTMLElement).click(); diff --git a/projects/kit/components/pagination/pagination.component.ts b/projects/kit/components/pagination/pagination.component.ts index 3ff40e355437..1a647c5f6a52 100644 --- a/projects/kit/components/pagination/pagination.component.ts +++ b/projects/kit/components/pagination/pagination.component.ts @@ -147,7 +147,7 @@ export class TuiPaginationComponent } /** - * Количество пунктов в контейнере. + * Number of items in a container. */ get elementsLength(): number { return this.itemsFit ? this.length : this.maxElementsLength; diff --git a/projects/kit/components/pagination/test/pagination.component.spec.ts b/projects/kit/components/pagination/test/pagination.component.spec.ts index 6fdb49df89ed..348d4b410a62 100644 --- a/projects/kit/components/pagination/test/pagination.component.spec.ts +++ b/projects/kit/components/pagination/test/pagination.component.spec.ts @@ -94,8 +94,8 @@ describe('TuiPaginationComponent', () => { component = testComponent.component; }); - describe('количество пунктов', () => { - describe('меньше чем length', () => { + describe('number of points', () => { + describe('less than length', () => { beforeEach(() => { setParams({length: 99}); }); @@ -131,7 +131,7 @@ describe('TuiPaginationComponent', () => { }); }); - describe('равно length', () => { + describe('is equal to length', () => { describe('length = 3', () => { beforeEach(() => { setParams({length: 3}); @@ -176,8 +176,8 @@ describe('TuiPaginationComponent', () => { }); }); - describe('Поведение стрелок переключения страниц', () => { - it('Если выбран первый элемент, стрелка влево отключена, вправо - включена', () => { + describe('Page switching arrow behavior', () => { + it('If the first item is selected, the left arrow is disabled, the right arrow is enabled', () => { setParams({index: 0}); const leftArrowDisabledState = component.arrowIsDisabledLeft; @@ -187,7 +187,7 @@ describe('TuiPaginationComponent', () => { expect(rightArrowDisabledState).toBe(false); }); - it('Если выбран второй элемент, стрелка влево включена, также как и вправо', () => { + it('If the second item is selected, the left arrow is on, as well as the right', () => { setParams({index: 1}); const leftArrowDisabledState = component.arrowIsDisabledLeft; @@ -197,7 +197,7 @@ describe('TuiPaginationComponent', () => { expect(rightArrowDisabledState).toBe(false); }); - it('Если выбран последний элемент, стрелка вправа отключена, влево - включена', () => { + it('If the last item is selected, the right arrow is disabled, the left arrow is enabled', () => { setParams({index: 49}); const leftArrowDisabledState = component.arrowIsDisabledLeft; @@ -207,7 +207,7 @@ describe('TuiPaginationComponent', () => { expect(rightArrowDisabledState).toBe(true); }); - it('Если выбран предпоследний элемент, стрелка вправа включена, также как и влево', () => { + it('If the penultimate item is selected, the right arrow is on, as well as the left', () => { setParams({index: 48}); const leftArrowDisabledState = component.arrowIsDisabledLeft; diff --git a/projects/kit/components/range/test/range.component.spec.ts b/projects/kit/components/range/test/range.component.spec.ts index f7566467ebf8..031aac31667d 100644 --- a/projects/kit/components/range/test/range.component.spec.ts +++ b/projects/kit/components/range/test/range.component.spec.ts @@ -69,28 +69,28 @@ describe('Range', () => { fixture.detectChanges(); }); - it('Полоса заполнена с 20% до 40%', () => { + it('The bar is filled from 20% to 40%', () => { expect(getBar().style.left).toBe('20%'); expect(getBar().style.right).toBe('60%'); }); - describe('Изменение значений', () => { - describe('Левая точка', () => { - it('При нажатии на стрелку влево уменьшает значение на один шаг', () => { + describe('Changing values', () => { + describe('Left point', () => { + it('Pressing the left arrow decreases the value by one step', () => { getLeft().dispatchEvent(keydownArrowLeft); expect(testComponent.testValue.value[0]).toBe(2); expect(testComponent.testValue.value[1]).toBe(5); }); - it('При нажатии на стрелку вправо увеличивает значение на один шаг', () => { + it('Pressing the right arrow increases the value by one step', () => { getLeft().dispatchEvent(keydownArrowRight); expect(testComponent.testValue.value[0]).toBe(4); expect(testComponent.testValue.value[1]).toBe(5); }); - it('При нажатии на стрелку влево корректно закрашивает полоску', () => { + it('Pressing the left arrow correctly paints the strip', () => { getLeft().dispatchEvent(keydownArrowLeft); fixture.detectChanges(); @@ -98,7 +98,7 @@ describe('Range', () => { expect(getBar().style.right).toBe('60%'); }); - it('При нажатии на стрелку вправо корректно закрашивает полоску', () => { + it('Pressing the right arrow correctly paints the strip', () => { getLeft().dispatchEvent(keydownArrowRight); fixture.detectChanges(); @@ -107,22 +107,22 @@ describe('Range', () => { }); }); - describe('Правая точка', () => { - it('При нажатии на стрелку влево уменьшает значение на один шаг', () => { + describe('Right point', () => { + it('Pressing the left arrow decreases the value by one step', () => { getRight().dispatchEvent(keydownArrowLeft); expect(testComponent.testValue.value[0]).toBe(3); expect(testComponent.testValue.value[1]).toBe(4); }); - it('При нажатии на стрелку вправо увеличивает значение на один шаг', () => { + it('Pressing the right arrow increases the value by one step', () => { getRight().dispatchEvent(keydownArrowRight); expect(testComponent.testValue.value[0]).toBe(3); expect(testComponent.testValue.value[1]).toBe(6); }); - it('При нажатии на стрелку влево корректно закрашивает полоску', () => { + it('Pressing the left arrow correctly paints the strip', () => { getRight().dispatchEvent(keydownArrowLeft); fixture.detectChanges(); @@ -130,7 +130,7 @@ describe('Range', () => { expect(getBar().style.right).toBe('70%'); }); - it('При нажатии на стрелку вправо корректно закрашивает полоску', () => { + it('Pressing the right arrow correctly paints the strip', () => { getRight().dispatchEvent(keydownArrowRight); fixture.detectChanges(); @@ -139,8 +139,8 @@ describe('Range', () => { }); }); - describe('Границы', () => { - it('Не даёт левой границе превысить правую', () => { + describe('Borders', () => { + it('Prevents the left border from exceeding the right', () => { testComponent.testValue.setValue([5, 5]); getLeft().dispatchEvent(keydownArrowRight); fixture.detectChanges(); @@ -148,7 +148,7 @@ describe('Range', () => { expect(testComponent.testValue.value[0]).toBe(5); }); - it('Не даёт правой границе снизиться ниже левой', () => { + it('Prevents the right border from dropping below the left', () => { testComponent.testValue.setValue([5, 5]); getRight().dispatchEvent(keydownArrowLeft); fixture.detectChanges(); @@ -156,7 +156,7 @@ describe('Range', () => { expect(testComponent.testValue.value[1]).toBe(5); }); - it('Не даёт значению убавиться ниже минимального', () => { + it('Prevents the value from decreasing below the minimum', () => { testComponent.testValue.setValue([1, 11]); getLeft().dispatchEvent(keydownArrowLeft); fixture.detectChanges(); @@ -164,7 +164,7 @@ describe('Range', () => { expect(testComponent.testValue.value[0]).toBe(1); }); - it('Не даёт значению превысить максимальное', () => { + it('Prevents the value from exceeding the maximum', () => { testComponent.testValue.setValue([1, 11]); getRight().dispatchEvent(keydownArrowRight); fixture.detectChanges(); @@ -172,7 +172,7 @@ describe('Range', () => { expect(testComponent.testValue.value[1]).toBe(11); }); - it('Прибивает значение к ближайшему допустимому шагу', () => { + it('Adds a value to the closest allowed step', () => { testComponent.testValue.setValue([3.3, 5]); getLeft().dispatchEvent(keydownArrowRight); fixture.detectChanges(); diff --git a/projects/kit/components/select/test/select.component.spec.ts b/projects/kit/components/select/test/select.component.spec.ts index 27f90f560e86..aee1f9315878 100644 --- a/projects/kit/components/select/test/select.component.spec.ts +++ b/projects/kit/components/select/test/select.component.spec.ts @@ -24,9 +24,9 @@ class Beast { } const ITEMS = [ - new Beast('мышка', 'Серая', '0'), - new Beast('кошка', 'Хитрая', '1'), - new Beast('енотик', 'Шкодливый', '2'), + new Beast('mouse', 'Gray', '0'), + new Beast('cat', 'Sly', '1'), + new Beast('raccoon', 'Naughty', '2'), ]; const CHECKMARK = 'tui-select-option__checkmark'; @@ -41,7 +41,7 @@ describe('Select', () => { [formControl]="control" [identityMatcher]="identityMatcher" > - Кто украл мячик? + Who stole the ball? { inputPO = new NativeInputPO(fixture, 'tui-primitive-textfield__native-input'); }); - describe('Очистка поля', () => { + describe('Cleaning the field', () => { beforeEach(() => { testComponent.cleaner = true; fixture.detectChanges(); }); - it('клавиша delete очищает поле', () => { + it('delete key clears the field', () => { testComponent.control.setValue(ITEMS[0]); fixture.detectChanges(); inputPO.sendKeydown('delete'); @@ -103,7 +103,7 @@ describe('Select', () => { expect(testComponent.control.value).toBeNull(); }); - it('если крестик отключен, клавиша delete не очищает поле', () => { + it('if the cross is disabled, the delete key does not clear the field', () => { testComponent.cleaner = false; testComponent.control.setValue(ITEMS[0]); fixture.detectChanges(); @@ -114,41 +114,41 @@ describe('Select', () => { }); describe('identityMatcher', () => { - describe('Матчер по умолчанию', () => { + describe('Default matcher', () => { beforeEach(() => { inputPO.sendKeydown('ArrowDown'); }); - it('Считает один и тот же объект идентичным самому себе', () => { + it('Considers the same object to be identical to itself', () => { testComponent.control.setValue(ITEMS[0]); fixture.detectChanges(); expect(pageObject.getByAutomationId(CHECKMARK)).not.toBeNull(); }); - it('Не считает копии объектов идентичными', () => { - testComponent.control.setValue(new Beast('мышка', 'Серая', '0')); + it("Doesn't consider copies of objects identical", () => { + testComponent.control.setValue(new Beast('mouse', 'Gray', '0')); fixture.detectChanges(); expect(pageObject.getByAutomationId(CHECKMARK)).toBeNull(); }); }); - describe('Кастомный матчер (сверка по id)', () => { + describe('Custom matcher (matching by id)', () => { beforeEach(() => { testComponent.identityMatcher = MATCHER; fixture.detectChanges(); }); - it('Считает один и тот же объект идентичным самому себе', () => { + it('Considers the same object to be identical to itself', () => { testComponent.control.setValue(ITEMS[0]); inputPO.sendKeydown('ArrowDown'); expect(pageObject.getByAutomationId(CHECKMARK)).not.toBeNull(); }); - it('Считает копии объектов идентичными', () => { - testComponent.control.setValue(new Beast('мышка', 'Серая', '0')); + it('Considers copies of objects identical', () => { + testComponent.control.setValue(new Beast('mouse', 'Gray', '0')); inputPO.sendKeydown('ArrowDown'); expect(pageObject.getByAutomationId(CHECKMARK)).not.toBeNull(); diff --git a/projects/kit/components/slider/test/slider.component.spec.ts b/projects/kit/components/slider/test/slider.component.spec.ts index 9995a5b31de9..fd36332ad735 100644 --- a/projects/kit/components/slider/test/slider.component.spec.ts +++ b/projects/kit/components/slider/test/slider.component.spec.ts @@ -81,43 +81,43 @@ describe('Slider', () => { fixture.detectChanges(); }); - describe('Значения по умолчанию', () => { + describe('Default values', () => { beforeEach(() => { testComponent.default = true; fixture.detectChanges(); }); - it('Сегменты отсутствуют', () => { + it('No segments', () => { expect(getSegments().length).toBe(0); }); - it('При нажатии на стрелку влево уменьшает значение на 5%', () => { + it('Pressing the left arrow decreases the value by 5%', () => { getDot().dispatchEvent(keydownArrowLeft); expect(testComponent.testValue.value).toBe(4.5); }); - it('При нажатии на стрелку вправо увеличивает значение на 5%', () => { + it('Pressing the right arrow increases the value by 5%', () => { getDot().dispatchEvent(keydownArrowRight); expect(testComponent.testValue.value).toBe(5.5); }); }); - it('Полоса заполнена на 40%', () => { + it('The bar is 40% full', () => { expect(getBar().style.right).toBe('60%'); }); - describe('Сегменты', () => { - it('Сегменты присутствуют', () => { + describe('Segments', () => { + it('Segments are present', () => { expect(getSegments().length).toBe(11); }); - it('Сегменты подписаны правильно', () => { + it('Segments are signed correctly', () => { expect(getSegments()[1].nativeElement.textContent.trim()).toBe('2'); }); - it('Сегменты подписаны правильно с формой множественного числа', () => { + it('Segments are signed correctly with plural', () => { testComponent.pluralize = ['год', 'года', 'лет']; fixture.detectChanges(); @@ -127,7 +127,7 @@ describe('Slider', () => { }); }); - describe('Нелинейная зависимость', () => { + describe('Non-linear dependence', () => { beforeEach(() => { testComponent.keySteps = [[50, 100]]; testComponent.min = 0; @@ -136,18 +136,18 @@ describe('Slider', () => { fixture.detectChanges(); }); - it('Полоса заполнена на 25%', () => { + it('The bar is 25% full', () => { expect(getBar().style.right).toBe('75%'); }); - it('Полоса заполнена на 50%', () => { + it('The bar is 50% full', () => { testComponent.testValue.setValue(100); fixture.detectChanges(); expect(getBar().style.right).toBe('50%'); }); - it('Полоса заполнена на 75%', () => { + it('The bar is 75% full', () => { testComponent.testValue.setValue(550); fixture.detectChanges(); @@ -155,34 +155,34 @@ describe('Slider', () => { }); }); - describe('Шаги', () => { - it('При нажатии на стрелку влево уменьшает значение на один шаг', () => { + describe('Steps', () => { + it('Pressing the left arrow decreases the value by one step', () => { getDot().dispatchEvent(keydownArrowLeft); expect(testComponent.testValue.value).toBe(4); }); - it('При нажатии на стрелку вправо увеличивает значение на один шаг', () => { + it('Pressing the right arrow increases the value by one step', () => { getDot().dispatchEvent(keydownArrowRight); expect(testComponent.testValue.value).toBe(6); }); - it('При нажатии на стрелку влево корректно закрашивает полоску', () => { + it('Pressing the left arrow correctly paints the strip', () => { getDot().dispatchEvent(keydownArrowLeft); fixture.detectChanges(); expect(getBar().style.right).toBe('70%'); }); - it('При нажатии на стрелку вправо корректно закрашивает полоску', () => { + it('Pressing the right arrow correctly paints the strip', () => { getDot().dispatchEvent(keydownArrowRight); fixture.detectChanges(); expect(getBar().style.right).toBe('50%'); }); - it('Не даёт значению убавиться ниже минимального', () => { + it('Prevents the value from decreasing below the minimum', () => { testComponent.testValue.setValue(1); getDot().dispatchEvent(keydownArrowLeft); fixture.detectChanges(); @@ -190,7 +190,7 @@ describe('Slider', () => { expect(testComponent.testValue.value).toBe(1); }); - it('Не даёт значению привысить максимальное', () => { + it('Prevents the value from exceeding the maximum', () => { testComponent.testValue.setValue(11); getDot().dispatchEvent(keydownArrowRight); fixture.detectChanges(); @@ -198,7 +198,7 @@ describe('Slider', () => { expect(testComponent.testValue.value).toBe(11); }); - it('Прибивает значение к ближайшему допустимому шагу', () => { + it('Adds a value to the closest allowed step', () => { testComponent.testValue.setValue(3.3); getDot().dispatchEvent(keydownArrowRight); fixture.detectChanges(); diff --git a/projects/kit/components/tabs/test/tabs.component.spec.ts b/projects/kit/components/tabs/test/tabs.component.spec.ts index 6e3c69eb12e4..6547be1630a7 100644 --- a/projects/kit/components/tabs/test/tabs.component.spec.ts +++ b/projects/kit/components/tabs/test/tabs.component.spec.ts @@ -10,10 +10,10 @@ describe('Tabs', () => { @Component({ template: ` - - - - + + + + `, }) diff --git a/projects/kit/components/tag/test/tag.component.spec.ts b/projects/kit/components/tag/test/tag.component.spec.ts index d7673b2aac74..54d86dc22fc4 100644 --- a/projects/kit/components/tag/test/tag.component.spec.ts +++ b/projects/kit/components/tag/test/tag.component.spec.ts @@ -75,19 +75,19 @@ describe('Tag', () => { fixture.detectChanges(); }); - describe('Значения по умолчанию:', () => { + describe('Default values:', () => { beforeEach(() => { testComponent.default = true; fixture.detectChanges(); }); - it('Крестик не показан', () => { + it('Cross not shown', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}remove`), ).toBeNull(); }); - it('Тэг не редактируется', () => { + it('Tag is not editable', () => { getTag().dispatchEvent(keydownEnter); fixture.detectChanges(); @@ -95,19 +95,19 @@ describe('Tag', () => { }); }); - describe('Редактирование тэга, editable === true', () => { + describe('Editing a tag, editable === true', () => { beforeEach(() => { getTag().dispatchEvent(keydownEnter); fixture.detectChanges(); }); - it('Тэг редактируется', () => { + it('Tag is being edited', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}edit`), ).not.toBeNull(); }); - it('Эмиттит событие редактирования по enter', () => { + it('Emit an edit event on enter', () => { getInput().value = 'Hapica'; getInput().dispatchEvent(new Event('input')); fixture.detectChanges(); @@ -117,7 +117,7 @@ describe('Tag', () => { expect(testComponent.editedSpy).toHaveBeenCalledWith('Hapica'); }); - it('Эмиттит событие редактирования по выходу из поля', () => { + it('Emitting edit event on field exit', () => { getInput().value = 'Hapica'; getInput().dispatchEvent(new Event('input')); fixture.detectChanges(); @@ -128,7 +128,7 @@ describe('Tag', () => { expect(testComponent.editedSpy).toHaveBeenCalledWith('Hapica'); }); - it('Эмиттит событие редактирования при вводе запятой', () => { + it('Emitting edit event on comma input', () => { getInput().value = 'Hapica, ogo'; getInput().dispatchEvent(new Event('input')); fixture.detectChanges(); @@ -136,7 +136,7 @@ describe('Tag', () => { expect(testComponent.editedSpy).toHaveBeenCalledWith('Hapica, ogo'); }); - it('Эмиттит пустую строку при сохранении пустого тэга', () => { + it('Issuer empty string when storing empty tag', () => { getInput().value = ''; getInput().dispatchEvent(new Event('input')); fixture.detectChanges(); @@ -148,14 +148,14 @@ describe('Tag', () => { }); }); - describe('Удаление тэга', () => { - it('Крестик показан при removable === true', () => { + describe('Deleting a tag', () => { + it('Cross shown with removable === true', () => { expect( pageObject.getByAutomationId(`${testContext.prefix}remove`), ).not.toBeNull(); }); - it('Эмиттит пустую строку по крестику', () => { + it('Emit an empty line across a cross', () => { pageObject .getByAutomationId(`${testContext.prefix}remove`)! .nativeElement.click(); @@ -163,7 +163,7 @@ describe('Tag', () => { expect(testComponent.editedSpy).toHaveBeenCalledWith(''); }); - it('При нажатии на backspace на тэге эмиттится пустая строка', () => { + it('When you press the backspace on the tag, an empty line is emitted', () => { getTag().dispatchEvent( new KeyboardEvent('keydown', { key: 'backspace', @@ -173,7 +173,7 @@ describe('Tag', () => { expect(testComponent.editedSpy).toHaveBeenCalledWith(''); }); - it('При нажатии на delete на тэге эмиттится пустая строка', () => { + it('When you press delete on the tag, an empty string is emitted', () => { getTag().dispatchEvent( new KeyboardEvent('keydown', { key: 'delete', @@ -184,9 +184,9 @@ describe('Tag', () => { }); }); - // TODO: переделать stringHashToHsl в stringHashToRgb и включить тест - xdescribe('Цвет тэга', () => { - it('при включении autoColor, цвет будет — rgb(241, 188, 229)', () => { + // TODO: remake stringHashToHsl to stringHashToRgb and include test + xdescribe('Tag color', () => { + it('when autoColor is enabled, the color will be rgb(241, 188, 229)', () => { testComponent.autoColor = true; fixture.detectChanges(); expect(getComputedStyle(getTagDiv()).backgroundColor).toBe( diff --git a/projects/kit/components/text-area/test/text-area.component.spec.ts b/projects/kit/components/text-area/test/text-area.component.spec.ts index 4cd3de94b754..09717de352f1 100644 --- a/projects/kit/components/text-area/test/text-area.component.spec.ts +++ b/projects/kit/components/text-area/test/text-area.component.spec.ts @@ -45,7 +45,7 @@ describe('TextArea', () => { expandable = false; - hintContent: string | null = 'Подсказка'; + hintContent: string | null = 'prompt'; } let fixture: ComponentFixture; @@ -115,20 +115,20 @@ describe('TextArea', () => { }); describe('expandable:', () => { - it('по умолчанию поле не растягивается', () => { + it('by default the field is not stretched', () => { fixture.detectChanges(); expect(component.computeMaxHeight).toBeNull(); }); - it('при expandable true у поля появляется MaxHeight', () => { + it('when expandable true, the field has MaxHeight', () => { testComponent.expandable = true; fixture.detectChanges(); expect(component.computeMaxHeight).not.toBeNull(); }); - it('дефолтное значение MaxHeight корректно рассчитывается', () => { + it('the default MaxHeight value is calculated correctly', () => { testComponent.expandable = true; fixture.detectChanges(); @@ -137,7 +137,7 @@ describe('TextArea', () => { expect(getScrollbar().style.maxHeight).toEqual(maxHeight + 'px'); }); - it('при изменении rows MaxHeight корректно рассчитывается', () => { + it('when rows change, MaxHeight is calculated correctly', () => { testComponent.expandable = true; testComponent.rows = 10; fixture.detectChanges(); @@ -147,7 +147,7 @@ describe('TextArea', () => { expect(getScrollbar().style.maxHeight).toEqual(maxHeight + 'px'); }); - it('при изменении rows MaxHeight корректно рассчитывается', () => { + it('when rows change, MaxHeight is calculated correctly', () => { testComponent.expandable = true; testComponent.rows = 15; fixture.detectChanges(); @@ -157,7 +157,7 @@ describe('TextArea', () => { expect(getScrollbar().style.maxHeight).toEqual(maxHeight + 'px'); }); - it('при expandable true и увеличении размера контента увеличивается высота tui-outline', () => { + it('when expandable is true and the content size increases, the tui-outline height increases', () => { testComponent.expandable = true; testComponent.control.setValue(` Льется дождик золотой, @@ -180,27 +180,27 @@ describe('TextArea', () => { }); }); - describe('counter и maxLength:', () => { - it('по умолчанию счетчика нет', () => { + describe('counter and maxLength:', () => { + it('there is no counter by default', () => { fixture.detectChanges(); expect(getCounter()).toBeNull(); }); - it('по умолчанию счетчика нет', () => { + it('there is no counter by default', () => { fixture.detectChanges(); expect(getCounter()).toBeNull(); }); - it('с выставленным maxLength счетчик есть', () => { + it('with set maxLength the counter is', () => { testComponent.maxLength = 200; fixture.detectChanges(); expect(getCounter()).not.toBeNull(); }); - it('с выставленным maxLength и в disabled-состоянии счетчика нет', () => { + it('with maxLength set and there is no counter in the disabled state', () => { testComponent.maxLength = 200; testComponent.control.disable(); fixture.detectChanges(); @@ -208,7 +208,7 @@ describe('TextArea', () => { expect(getCounter()).toBeNull(); }); - it('с выставленным maxLength и в readOnly-состоянии счетчика нет', () => { + it('with maxLength set and there is no counter in the readOnly state', () => { testComponent.maxLength = 200; testComponent.readOnly = true; fixture.detectChanges(); @@ -218,20 +218,20 @@ describe('TextArea', () => { }); describe('placeholder', () => { - it('если значение не задано, показан placeholder', () => { + it('if no value is given, placeholder is shown', () => { fixture.detectChanges(); expect(getPlaceholder()).not.toBeNull(); }); - it('если значение - пустая строка, показан placeholder', () => { + it('if value is empty string, placeholder is shown', () => { testComponent.control.setValue(''); fixture.detectChanges(); expect(getPlaceholder()).not.toBeNull(); }); - it('значение задано, то placeholder показан', () => { + it('value is given then placeholder is shown', () => { testComponent.control.setValue('test'); fixture.detectChanges(); @@ -240,7 +240,7 @@ describe('TextArea', () => { }); describe('tooltip', () => { - it('если значение задано, показан tooltip', () => { + it('if set, tooltip is shown', () => { testComponent.hintContent = 'Tooltip'; fixture.detectChanges(); diff --git a/projects/kit/components/toggle/test/toggle.component.spec.ts b/projects/kit/components/toggle/test/toggle.component.spec.ts index 283650269a5e..d2e785bd36f9 100644 --- a/projects/kit/components/toggle/test/toggle.component.spec.ts +++ b/projects/kit/components/toggle/test/toggle.component.spec.ts @@ -44,7 +44,7 @@ describe('Toggle', () => { testComponent = fixture.componentInstance; }); - it('Если value не задано, клик меняет значение на true', () => { + it('If value is not set, click changes the value to true', () => { fixture.detectChanges(); clickOnToggle(); @@ -52,7 +52,7 @@ describe('Toggle', () => { expect(testComponent.control.value).toBe(true); }); - it('Если value === false, клик меняет значение на true', () => { + it('If value === false, click changes the value to true', () => { testComponent.control.setValue(false); fixture.detectChanges(); @@ -61,7 +61,7 @@ describe('Toggle', () => { expect(testComponent.control.value).toBe(true); }); - it('Если value === true, клик меняет значение на false', () => { + it('If value === true, click changes the value to false', () => { testComponent.control.setValue(true); fixture.detectChanges(); @@ -70,7 +70,7 @@ describe('Toggle', () => { expect(testComponent.control.value).toBe(false); }); - it('Если контрол задизейблен, клик не меняет значение', () => { + it('If the control is disabled, the click does not change the value', () => { testComponent.control.setValue(false); testComponent.control.disable(); fixture.detectChanges(); @@ -80,7 +80,7 @@ describe('Toggle', () => { expect(testComponent.control.value).toBe(false); }); - it('Если контрол снова раздизейблен, клик меняет значение на противоположное', () => { + it('If the control is un-disabled again, click reverses the value', () => { testComponent.control.setValue(false); testComponent.control.disable(); fixture.detectChanges(); @@ -93,13 +93,13 @@ describe('Toggle', () => { expect(testComponent.control.value).toBe(true); }); - describe('Иконки', () => { + describe('Icons', () => { describe('showIcons === false', () => { beforeEach(() => { testComponent.showIcons = false; }); - it('Иконки скрыты, когда toggle в состоянии "отключен"', () => { + it('Icons are hidden when toggle is "disabled"', () => { testComponent.control.setValue(false); fixture.detectChanges(); @@ -107,7 +107,7 @@ describe('Toggle', () => { checkIconVisibility(`${testContext.prefix}cancel-icon`, false); }); - it('Иконки скрыты, когда toggle в состоянии "включен"', () => { + it('Icons are hidden when toggle is "on"', () => { testComponent.control.setValue(true); fixture.detectChanges(); @@ -121,17 +121,17 @@ describe('Toggle', () => { testComponent.showIcons = true; }); - it('Иконки показаны, когда toggle в состоянии "отключен"', () => { + it('Icons are shown when toggle is "disabled"', () => { testComponent.control.setValue(false); fixture.detectChanges(); - // Если иконки включены, то в DOM добавляются сразу обе - - // особенность реализации для плавной анимации + // If icons are enabled, then both are added to the DOM at once - + // implementation feature for smooth animation checkIconVisibility(`${testContext.prefix}check-icon`, true); checkIconVisibility(`${testContext.prefix}cancel-icon`, true); }); - it('Иконки показаны, когда toggle в состоянии "включен"', () => { + it('Icons are shown when toggle is "on"', () => { testComponent.control.setValue(true); fixture.detectChanges(); @@ -147,7 +147,7 @@ describe('Toggle', () => { testComponent.showLoader = false; }); - it('Иконки скрыты, когда toggle в состоянии "отключен"', () => { + it('Icons are hidden when toggle is "disabled"', () => { testComponent.control.setValue(false); fixture.detectChanges(); @@ -155,7 +155,7 @@ describe('Toggle', () => { checkIconVisibility(`${testContext.prefix}cancel-icon`, false); }); - it('Иконки скрыты, когда toggle в состоянии "включен"', () => { + it('Icons are hidden when toggle is "on"', () => { testComponent.control.setValue(true); fixture.detectChanges(); @@ -170,7 +170,7 @@ describe('Toggle', () => { testComponent.showIcons = true; }); - it('Иконки скрыты, когда toggle в состоянии "отключен", loader имеет над ними приоритет', () => { + it('Icons are hidden when toggle is disabled, loader takes precedence over them', () => { testComponent.control.setValue(false); fixture.detectChanges(); @@ -178,7 +178,7 @@ describe('Toggle', () => { checkIconVisibility(`${testContext.prefix}cancel-icon`, false); }); - it('Иконки скрыты, когда toggle в состоянии "включен", loader имеет над ними приоритет', () => { + it('Icons are hidden when toggle is on, loader takes precedence over them', () => { testComponent.control.setValue(true); fixture.detectChanges(); diff --git a/projects/kit/directives/project-class/test/project-class.directive.spec.ts b/projects/kit/directives/project-class/test/project-class.directive.spec.ts index 345e75c52187..79b388ab8a7c 100644 --- a/projects/kit/directives/project-class/test/project-class.directive.spec.ts +++ b/projects/kit/directives/project-class/test/project-class.directive.spec.ts @@ -8,7 +8,7 @@ import {configureTestSuite} from 'ng-bullet'; import {TuiComboBoxModule} from '../../../components/combo-box/combo-box.module'; import {TuiProjectClassModule} from '../project-class.module'; -describe('Директива TuiProjectClassDirective', () => { +describe('Directive TuiProjectClassDirective', () => { @Component({ template: `
@@ -51,11 +51,11 @@ describe('Директива TuiProjectClassDirective', () => { inputPO = new NativeInputPO(fixture, `tui-primitive-textfield__native-input`); }); - it('если на потомке нет нужного класса, его нет и на хосте', () => { + it('if the child does not have the required class, it is not on the host either', () => { expect(getParentElement().classList.contains('_focused')).toBe(false); }); - it('если на потомке появляется класс, он проецируется хосту', () => { + it('if a class appears on the child, it is projected to the host', () => { inputPO.focus(); fixture.detectChanges(); diff --git a/projects/kit/internal/primitive-calendar-range/test/primitive-calendar-range.component.spec.ts b/projects/kit/internal/primitive-calendar-range/test/primitive-calendar-range.component.spec.ts index 067d683107a7..25a38828bbc6 100644 --- a/projects/kit/internal/primitive-calendar-range/test/primitive-calendar-range.component.spec.ts +++ b/projects/kit/internal/primitive-calendar-range/test/primitive-calendar-range.component.spec.ts @@ -34,13 +34,13 @@ describe('PrimitiveRangeCalendar component', () => { }); describe('viewedMonthFirst', () => { - it('При инициализации без value устанавливает значение defaultViewedMonthFirst', () => { + it('When initialized without value, sets defaultViewedMonthFirst', () => { expect(component.userViewedMonthFirst).toBe( component.defaultViewedMonthFirst, ); }); - it('При инициализации без value и defaultViewedMonthSecond показывает месяц локальной даты', () => { + it('When initialized without value and defaultViewedMonthSecond shows the month of the local date', () => { expect(component.userViewedMonthFirst.formattedMonth).toBe( TuiMonth.currentLocal().formattedMonth, ); @@ -48,13 +48,13 @@ describe('PrimitiveRangeCalendar component', () => { }); describe('viewedMonthSecond', () => { - it('При инициализации без value устанавливает значение defaultViewedMonthSecond', () => { + it('When initialized without value, sets defaultViewedMonthSecond', () => { expect(component.userViewedMonthSecond).toBe( component.defaultViewedMonthSecond, ); }); - it('При инициализации без value и defaultViewedMonthSecond показывает следующий после месяца локальной даты', () => { + it('When initialized without value and defaultViewedMonthSecond shows the next local date after month', () => { const formattedNextMonth = TuiMonth.currentLocal().append({month: 1}) .formattedMonth; diff --git a/projects/kit/types/key-steps.ts b/projects/kit/types/key-steps.ts index fb91aa682fd9..6729c66fb182 100644 --- a/projects/kit/types/key-steps.ts +++ b/projects/kit/types/key-steps.ts @@ -1,13 +1,13 @@ /** - * Шаги для разбиения слайдеров на разные линейные зависимости. - * Каждый элемент массива имеет вид [проценты, значение] + * Steps for splitting sliders into different linear dependencies. + * Each element of the array has the form [percent, value] * - * Таким образом, чтобы задать поле от 50 000 до 30 000 000 с шагами: - * 1) От 50 000 до 200 000 по 5000 (30 шагов) - * 2) От 200 000 до 1 000 000 по 50 000 (16 шагов) - * 3) От 1 000 000 до 30 000 000 по 500 000 (58 шагов) + * Thus, to set a field from 50,000 to 30,000,000 in steps: + * 1) От 50 000 до 200 000 по 5000 (30 steps) + * 2) От 200 000 до 1 000 000 по 50 000 (16 steps) + * 3) От 1 000 000 до 30 000 000 по 500 000 (58 steps) * - * Нужно передать следующий keyStep (где 104 = 30 + 16 + 58 — общее число шагов): + * You need to pass the following keyStep (where 104 = 30 + 16 + 58 is the total number of steps): * [ * [100 / 104 * 30, 200000], * [100 / 104 * (30 + 16), 1000000] diff --git a/projects/kit/utils/files/test/format-size.spec.ts b/projects/kit/utils/files/test/format-size.spec.ts index 627d7ca73273..860d48a62abb 100644 --- a/projects/kit/utils/files/test/format-size.spec.ts +++ b/projects/kit/utils/files/test/format-size.spec.ts @@ -2,28 +2,28 @@ import {formatSize} from '../format-size'; const units: [string, string, string] = ['B', 'KB', 'MB']; -describe('Форматирование размера файла', () => { - it('Размер в байтах меньше 1 КБ выводится в байтах', () => { +describe('File size formatting', () => { + it('Size in bytes less than 1KB is output in bytes', () => { expect(formatSize(units, 900)).toBe('900 B'); }); - it('Размер в байтах 1 КБ, выводится в килобайтах', () => { + it('Size in bytes 1 KB, displayed in kilobytes', () => { expect(formatSize(units, 1000)).toBe('1 KB'); }); - it('Размер в байтах 1025 байт выводится в килобайтах с округлением вниз до 1 KB', () => { + it('Size in bytes 1025 bytes are output in kilobytes, rounded down to 1 KB', () => { expect(formatSize(units, 1025)).toBe('1 KB'); }); - it('Размер в байтах больше 1976 выводится в килобайтах с округлением вверх до 2 KB', () => { + it('Bytes larger than 1976 are displayed in kilobytes, rounded up to 2 KB', () => { expect(formatSize(units, 1977)).toBe('2 KB'); }); - it('Размер в байтах больше 1 Мб выводится в мегабайтах', () => { + it('Size in bytes greater than 1 MB is displayed in megabytes', () => { expect(formatSize(units, 10 * 1000 * 1000)).toBe('10 MB'); }); - it('Мегабайты округляются до двух знаков после запятой', () => { + it('Megabytes are rounded to two decimal places', () => { expect(formatSize(units, 10 * 1000 * 1000 + 220 * 1000)).toBe('10.22 MB'); }); }); diff --git a/projects/kit/utils/format/string-hash-to-hsl.ts b/projects/kit/utils/format/string-hash-to-hsl.ts index c441048c2761..984bfb5603c2 100644 --- a/projects/kit/utils/format/string-hash-to-hsl.ts +++ b/projects/kit/utils/format/string-hash-to-hsl.ts @@ -1,9 +1,9 @@ /** - * Преобразовывает строку в цвет формата HSL - * @param value строка для преобразования - * @return строка с цветом в формате HSL + * Converts a string to an HSL color + * @param value string to convert + * @return HSL color string */ -// @bad TODO: переделать stringHashToHsl в stringHashToRgb +// @bad TODO: convert stringHashToHsl to stringHashToRgb export function stringHashToHsl(value: string): string { if (value === '') { return ''; diff --git a/projects/kit/utils/format/test/string-hash-to-hsl.spec.ts b/projects/kit/utils/format/test/string-hash-to-hsl.spec.ts index c03c906f7383..c62bc29d099c 100644 --- a/projects/kit/utils/format/test/string-hash-to-hsl.spec.ts +++ b/projects/kit/utils/format/test/string-hash-to-hsl.spec.ts @@ -1,15 +1,15 @@ import {stringHashToHsl} from '../string-hash-to-hsl'; -describe('Преобразование строки в HSL-цвет', () => { - it('Корректно преобразовывается имя на русском', () => { +describe('Convert string to HSL color', () => { + it('The name in Russian is converted correctly', () => { expect(stringHashToHsl('Ширяева Клементина')).toEqual('hsl(101,61%,81%)'); }); - it('Корректно преобразовывается имя на английском', () => { + it('English name is converted correctly', () => { expect(stringHashToHsl('John Snow')).toEqual('hsl(96,61%,81%)'); }); - it('Корректно преобразовываются спецсимволы', () => { + it('Special characters are converted correctly', () => { expect(stringHashToHsl('!@#$%^&*(')).toEqual('hsl(-357,58%,78%)'); }); }); diff --git a/projects/kit/utils/mask/create-auto-corrected-date-range-pipe.ts b/projects/kit/utils/mask/create-auto-corrected-date-range-pipe.ts index ccb1e1c8f668..9521b1a0c7cb 100644 --- a/projects/kit/utils/mask/create-auto-corrected-date-range-pipe.ts +++ b/projects/kit/utils/mask/create-auto-corrected-date-range-pipe.ts @@ -46,7 +46,7 @@ function processRawValue( * 2. It is a single date and a separator * 3. It is two dates and a separator between them * - * В **остальных** случаях значение не изменяется. + * In **other** cases, the value does not change. * * @param config with min and max date * @return mask pipe handler that handles `min` and `max` diff --git a/projects/kit/utils/mask/create-auto-corrected-time-pipe.ts b/projects/kit/utils/mask/create-auto-corrected-time-pipe.ts index be29e81443ac..f13989c5d48c 100644 --- a/projects/kit/utils/mask/create-auto-corrected-time-pipe.ts +++ b/projects/kit/utils/mask/create-auto-corrected-time-pipe.ts @@ -2,8 +2,8 @@ import {TuiTimeMode} from '@taiga-ui/cdk'; import {TuiTextMaskPipeHandler} from '@taiga-ui/core'; /** - * Корректирует вводимое время, пропуская только подходящие значения для часов и минут - * @returns время в виде строки + * Adjusts the entered time by omitting only suitable values ​​for hours and minutes + * @returns time as a string */ export function tuiCreateAutoCorrectedTimePipe( timeMode: TuiTimeMode = 'HH:MM', diff --git a/projects/kit/utils/mask/test/create-auto-corrected-date-range-pipe.spec.ts b/projects/kit/utils/mask/test/create-auto-corrected-date-range-pipe.spec.ts index 84cc1b92cedd..4965d72d9978 100644 --- a/projects/kit/utils/mask/test/create-auto-corrected-date-range-pipe.spec.ts +++ b/projects/kit/utils/mask/test/create-auto-corrected-date-range-pipe.spec.ts @@ -18,36 +18,36 @@ function wrapper( ) as TuiTextMaskPipeResult).value; } -describe('tuiCreateAutoCorrectedDateRangePipe возвращает', () => { - describe('исходную строку, если она', () => { - it('пустая', () => { +describe('tuiCreateAutoCorrectedDateRangePipe returns', () => { + describe('the original string if it is', () => { + it('empty', () => { expect(wrapper('')).toBe(''); }); - it('меньше одной даты', () => { + it('less than one date', () => { expect(wrapper('99.99.99')).toBe('99.99.99'); }); - it('больше одной, но меньше двух дат', () => { + it('more than one but less than two dates', () => { expect(wrapper(`99.99.9999${RANGE_SEPARATOR_CHAR}99.99.99`)).toBe( `99.99.9999${RANGE_SEPARATOR_CHAR}99.99.99`, ); }); - describe('валидная и', () => { - describe('одинарная и', () => { - it('без тире', () => { + describe('valid and', () => { + describe('single and', () => { + it('without dash', () => { expect(wrapper('06.06.2000')).toBe('06.06.2000'); }); - it('c тире', () => { + it('with a dash', () => { expect(wrapper(`06.06.2000${RANGE_SEPARATOR_CHAR}`)).toBe( `06.06.2000${RANGE_SEPARATOR_CHAR}`, ); }); }); - it('двойная', () => { + it('double', () => { expect(wrapper(`01.01.2000${RANGE_SEPARATOR_CHAR}.31.12.3000`)).toBe( `01.01.2000${RANGE_SEPARATOR_CHAR}.31.12.3000`, ); @@ -55,29 +55,29 @@ describe('tuiCreateAutoCorrectedDateRangePipe возвращает', () => { }); }); - describe('исправленную строку, если она', () => { - describe('одинарная и', () => { - describe('не валидная', () => { - it('без тире', () => { + describe('the corrected line if it is', () => { + describe('single and', () => { + describe('not valid', () => { + it('without dash', () => { expect(wrapper('99.99.4444')).toBe('31.12.4444'); }); - it('с тире', () => { + it('with a dash', () => { expect(wrapper(`99.99.4444${RANGE_SEPARATOR_CHAR}`)).toBe( `31.12.4444${RANGE_SEPARATOR_CHAR}`, ); }); }); - describe('валидная, но', () => { - describe('меньше минимальной даты', () => { - it('без тире', () => { + describe('valid, but', () => { + describe('less than the minimum date', () => { + it('without dash', () => { expect(wrapper('01.01.1000', new TuiDay(2000, 5, 6))).toBe( '06.06.2000', ); }); - it('с тире', () => { + it('with a dash', () => { expect( wrapper( `01.01.1000${RANGE_SEPARATOR_CHAR}`, @@ -86,14 +86,14 @@ describe('tuiCreateAutoCorrectedDateRangePipe возвращает', () => { ).toBe(`06.06.2000${RANGE_SEPARATOR_CHAR}`); }); }); - describe('больше максимальной даты', () => { - it('без тире', () => { + describe('more than maximum date', () => { + it('without dash', () => { expect(wrapper('31.12.3000', null, new TuiDay(2000, 5, 6))).toBe( '06.06.2000', ); }); - it('с тире', () => { + it('with a dash', () => { expect( wrapper( `31.12.3000${RANGE_SEPARATOR_CHAR}`, @@ -106,14 +106,14 @@ describe('tuiCreateAutoCorrectedDateRangePipe возвращает', () => { }); }); - describe('двойная и', () => { - it('даты поменяны местами', () => { + describe('double and', () => { + it('dates are swapped', () => { expect(wrapper(`31.12.3000${RANGE_SEPARATOR_CHAR}01.01.2000`)).toBe( `01.01.2000${RANGE_SEPARATOR_CHAR}31.12.3000`, ); }); - it('не валидная', () => { + it('not valid', () => { expect(wrapper(`99.99.2000${RANGE_SEPARATOR_CHAR}99.99.3000`)).toBe( `31.12.2000${RANGE_SEPARATOR_CHAR}31.12.3000`, ); diff --git a/projects/testing/src/utils/input/cleaner.unit-common.ts b/projects/testing/src/utils/input/cleaner.unit-common.ts index bef6b90f0d6a..a75ee8c0355c 100644 --- a/projects/testing/src/utils/input/cleaner.unit-common.ts +++ b/projects/testing/src/utils/input/cleaner.unit-common.ts @@ -30,7 +30,7 @@ export function testCleaner( let testComponent: TestComponent; let inputPO: NativeInputPO; - describe('Крестик для очистки поля', () => { + describe('Cross for field cleaning', () => { beforeEach(() => { pageObject = context.pageObject; fixture = context.fixture; @@ -40,12 +40,12 @@ export function testCleaner( fixture.detectChanges(); }); - describe('Крестик включен', () => { + describe('Cross included', () => { beforeEach(() => { testComponent.cleaner = true; }); - it('Если значение не задано, крестик не показан', () => { + it('If no value is specified, the cross is not shown', () => { updateValue(clearValue); fixture.detectChanges(); @@ -53,7 +53,7 @@ export function testCleaner( expect(getCleaner()).toBeNull(); }); - it('Если поле readonly, крестик не показан', () => { + it('If the field is readonly, the cross is not shown', () => { updateValue(setValue); testComponent.readOnly = true; @@ -62,7 +62,7 @@ export function testCleaner( expect(getCleaner()).toBeNull(); }); - it('Если поле disabled, крестик не показан', () => { + it('If the field is disabled, the cross is not shown', () => { updateValue(setValue); if (testComponent.control) { @@ -75,7 +75,7 @@ export function testCleaner( expect(getCleaner()).toBeNull(); }); - it('Если значение задано, крестик показан', () => { + it('If a value is specified, a cross is shown', () => { updateValue(setValue); fixture.detectChanges(); @@ -83,7 +83,7 @@ export function testCleaner( expect(getCleaner()).not.toBeNull(); }); - it('При нажатии на крестик значение поля очищается', () => { + it('When you click on the cross, the field value is cleared', () => { updateValue(setValue); fixture.detectChanges(); @@ -103,8 +103,8 @@ export function testCleaner( }); }); - describe('Крестик отключен', () => { - it('Значение задано, крестик не показывается', () => { + describe('Cross disabled', () => { + it('The value is set, the cross is not shown', () => { updateValue(setValue); testComponent.cleaner = false; diff --git a/projects/testing/src/utils/input/example-text.unit-common.ts b/projects/testing/src/utils/input/example-text.unit-common.ts index b7ed0a104d20..788ae01ae440 100644 --- a/projects/testing/src/utils/input/example-text.unit-common.ts +++ b/projects/testing/src/utils/input/example-text.unit-common.ts @@ -30,7 +30,7 @@ export function testExampleText( let testComponent: TestComponent; let inputPO: NativeInputPO; - describe('Пример заполнения в поле (example-text)', () => { + describe('Example of filling in the field (example-text)', () => { beforeEach(() => { pageObject = context.pageObject; fixture = context.fixture; @@ -40,14 +40,14 @@ export function testExampleText( fixture.detectChanges(); }); - it('если инпут не сфокусирован, то example-text не показан', done => { + it('if the input is not focused, then example-text is not shown', done => { fixture.whenStable().then(() => { expect(getExampleText()).toBeNull(); done(); }); }); - it('если инпут имеет value, то example-text не показан', done => { + it('if the input has value, then example-text is not shown', done => { updateValue(setValue); fixture.whenStable().then(() => { fixture.detectChanges(); @@ -56,7 +56,7 @@ export function testExampleText( }); }); - it('если инпут сфокусирован, то example-text показан', done => { + it('if the input is focused, then example-text is shown', done => { updateValue(clearValue); testComponent.size = visibleExampleTextSize; inputPO.focus(); @@ -67,7 +67,7 @@ export function testExampleText( }); }); - it('В example-text корректно передается текст', done => { + it('In example-text, the text is correctly passed', done => { updateValue(clearValue); testComponent.size = visibleExampleTextSize; inputPO.focus(); diff --git a/projects/testing/src/utils/input/filler.unit-common.ts b/projects/testing/src/utils/input/filler.unit-common.ts index aaaba6dffdcc..8db71b44f238 100644 --- a/projects/testing/src/utils/input/filler.unit-common.ts +++ b/projects/testing/src/utils/input/filler.unit-common.ts @@ -26,7 +26,7 @@ export function testFiller( let testComponent: TestComponent; let inputPO: NativeInputPO; - describe('Филлер(маска)', () => { + describe('Filler (mask)', () => { beforeEach(() => { pageObject = context.pageObject; fixture = context.fixture; @@ -36,17 +36,17 @@ export function testFiller( fixture.detectChanges(); }); - describe('если в поле нет значения', () => { + describe('if there is no value in the field', () => { beforeEach(() => { testComponent.control.setValue(clearValue); fixture.detectChanges(); }); - it('не виден', () => { + it('not visible', () => { expect(getFiller()).toBeNull(); }); - it('при фокусировании появляется', done => { + it('when focusing appears', done => { inputPO.focus(); fixture.detectChanges(); fixture.whenStable().then(() => { @@ -56,17 +56,17 @@ export function testFiller( }); }); - describe('если в поле есть значение', () => { + describe('if the field has a value', () => { beforeEach(() => { testComponent.control.setValue(setValue); fixture.detectChanges(); }); - it('не виден', () => { + it('not visible', () => { expect(getFiller()).toBeNull(); }); - it('при фокусировании также не виден', () => { + it('also not visible when focusing', () => { inputPO.nativeElement.focus(); fixture.detectChanges(); diff --git a/projects/testing/src/utils/input/form-control-state.unit-common.ts b/projects/testing/src/utils/input/form-control-state.unit-common.ts index ff0bf32033c4..9ab3f0ebdcff 100644 --- a/projects/testing/src/utils/input/form-control-state.unit-common.ts +++ b/projects/testing/src/utils/input/form-control-state.unit-common.ts @@ -17,7 +17,7 @@ export function testFormControlState(context: TestParams) { let testComponent: TestComponent; let inputPO: NativeInputPO; - describe('Состояние FormControl', () => { + describe('FormControl state', () => { beforeEach(() => { fixture = context.fixture; testComponent = context.testComponent; @@ -26,28 +26,28 @@ export function testFormControlState(context: TestParams) { fixture.detectChanges(); }); - it('После инициализации контрола dirty === false', () => { + it('After initializing control dirty === false', () => { expect(testComponent.control.dirty).toBe(false); }); - it('После инициализации контрола touched === false', () => { + it('After control initialization touched === false', () => { expect(testComponent.control.touched).toBe(false); }); - it('После установки значения извне dirty === false', () => { + it('After setting value from outside dirty === false', () => { testComponent.control.setValue('123'); fixture.detectChanges(); expect(testComponent.control.dirty).toBe(false); }); - it('После ввода значения dirty === true', () => { + it('After entering the value dirty === true', () => { inputPO.sendText('123'); expect(testComponent.control.dirty).toBe(true); }); - it('После установки и снятия фокуса touched === true', done => { + it('After setting and de-focusing touched === true', done => { inputPO.focus(); inputPO.blur(); diff --git a/projects/testing/src/utils/input/placeholder.unit-common.ts b/projects/testing/src/utils/input/placeholder.unit-common.ts index 70a68bea6097..3e555927a331 100644 --- a/projects/testing/src/utils/input/placeholder.unit-common.ts +++ b/projects/testing/src/utils/input/placeholder.unit-common.ts @@ -35,20 +35,20 @@ export function testPlaceholder( fixture.detectChanges(); }); - describe('в размере S', () => { + describe('in size S', () => { beforeEach(() => { testComponent.size = 's'; fixture.detectChanges(); }); - it('если значения нет, то показан', () => { + it('if no value, then shown', () => { updateValue(clearValue); fixture.detectChanges(); expect(getPlaceholder()).not.toBeNull(); }); - it('если значение задано, то не показан', () => { + it('if specified, not shown', () => { updateValue(setValue); fixture.detectChanges(); @@ -56,20 +56,20 @@ export function testPlaceholder( }); }); - describe('в размере M', () => { + describe('in size M', () => { beforeEach(() => { testComponent.size = 'm'; fixture.detectChanges(); }); - it('если значения нет, то показан', () => { + it('if no value, then shown', () => { updateValue(clearValue); fixture.detectChanges(); expect(getPlaceholder()).not.toBeNull(); }); - it('если значение задано, то показан', () => { + it('if a value is given, then', () => { updateValue(setValue); testComponent.labelOutside = false; fixture.detectChanges(); @@ -77,7 +77,7 @@ export function testPlaceholder( expect(getPlaceholder()).not.toBeNull(); }); - it('если значение задано, но лейбл снаружи, то не показан', () => { + it('if value is given but label is outside, then not shown', () => { updateValue(setValue); testComponent.labelOutside = true; fixture.detectChanges(); @@ -86,20 +86,20 @@ export function testPlaceholder( }); }); - describe('в размере L', () => { + describe('in size L', () => { beforeEach(() => { testComponent.size = 'l'; fixture.detectChanges(); }); - it('если значения нет, то показан', () => { + it('if no value, then shown', () => { updateValue(clearValue); fixture.detectChanges(); expect(getPlaceholder()).not.toBeNull(); }); - it('если значение задано, то показан', () => { + it('if a value is given, then', () => { updateValue(setValue); testComponent.labelOutside = false; fixture.detectChanges(); @@ -107,7 +107,7 @@ export function testPlaceholder( expect(getPlaceholder()).not.toBeNull(); }); - it('если значение задано, но лейбл снаружи, то не показан', () => { + it('if value is given but label is outside, then not shown', () => { updateValue(setValue); testComponent.labelOutside = true; fixture.detectChanges(); diff --git a/projects/testing/src/utils/page-object.ts b/projects/testing/src/utils/page-object.ts index 8742c510c29f..62f1f39fa939 100644 --- a/projects/testing/src/utils/page-object.ts +++ b/projects/testing/src/utils/page-object.ts @@ -53,11 +53,11 @@ export class PageObject { ); if (inputDebugElement === null) { - throw new Error(`Поле ${automationId} не найдено`); + throw new Error(`Field ${automationId} not found`); } if (!(inputDebugElement.nativeElement instanceof HTMLInputElement)) { - throw new Error(`Элемент ${automationId} не является `); + throw new Error(`Element ${automationId} is not `); } inputDebugElement.nativeElement.value = value;