Skip to content

Commit

Permalink
feat(WriteBarIcon): increase label priority
Browse files Browse the repository at this point in the history
& add test
  • Loading branch information
eugpoloz committed Dec 5, 2023
1 parent 8cac8b5 commit f43fba4
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,19 @@ import { WriteBarIcon } from './WriteBarIcon';
describe('WriteBarIcon', () => {
baselineComponent((props) => <WriteBarIcon label="WriteBarIcon" {...props} />);

it('a11y: adds default text context for assigned mode', () => {
it('adds default text context for assigned mode', () => {
render(<WriteBarIcon data-testid="button" mode="send" />);

expect(screen.getByTestId('button')).toHaveTextContent('Отправить');
});

it('overrides mode default text content when label is provided', () => {
const label = 'Send Message';
render(<WriteBarIcon data-testid="button" mode="send" label={label} />);

expect(screen.getByTestId('button')).toHaveTextContent(label);
});

it('shows counter when count={0} is provided', () => {
const count = 0;

Expand Down
11 changes: 6 additions & 5 deletions packages/vkui/src/components/WriteBarIcon/WriteBarIcon.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,12 @@ const predefinedLabel = {
export interface WriteBarIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
/**
* Предустановленные типы кнопок в WriteBar для отрисовки иконки и установки текста кнопки в зависимости от платформы.
* Если передать валидное значение для этого свойства, `children` и `label` игнорируются.
* Если передать валидное значение для этого свойства, `children` игнорируются, а для `label` по умолчанию используется текст на "ru_RU".
*
* - `attach` – иконка прикрепления.
* - `send` – иконка отправки.
* - `done` – иконка отправки в режиме редактирования.
* Валидные значения:
* - `attach` – иконка прикрепления, текст по умолчанию — "Прикрепить файл";
* - `send` – иконка отправки, текст по умолчанию — "Отправить";
* - `done` – иконка отправки в режиме редактирования, текст по умолчанию — "Готово";
*/
mode?: 'attach' | 'send' | 'done';
/**
Expand Down Expand Up @@ -89,7 +90,7 @@ export const WriteBarIcon = ({
break;
}

const label = mode ? predefinedLabel[mode] : labelProp;
const label = labelProp ?? (mode && predefinedLabel[mode]);

if (process.env.NODE_ENV === 'development') {
/* istanbul ignore next: проверка в dev mode, тест на hasAccessibleName() есть в lib/accessibility.test.tsx */
Expand Down

0 comments on commit f43fba4

Please sign in to comment.