/
githubmirror
/
material-ui
Обзор
Документация
Войти
/
githubmirror
/
material-ui
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
packages/mui-material/src/Input/Input.test.js
52 строки
2 KB
Albert Yu
[input] Prevent `notched` prop leaking into DOM (#48281)
15 апр 2026, 17:16
Не верифицирован
15 апр 2026, 17:16
9763c96
Код
Авторство
О чём код?
import { expect } from 'chai'; import { createRenderer, screen } from '@mui/internal-test-utils'; import InputBase from '@mui/material/InputBase'; import Input, { inputClasses as classes } from '@mui/material/Input'; import describeConformance from '../../test/describeConformance'; describe('<Input />', () => { const { render } = createRenderer(); describeConformance(<Input />, () => ({ classes, inheritComponent: InputBase, render, refInstanceof: window.HTMLDivElement, muiName: 'MuiInput', testDeepOverrides: { slotName: 'input', slotClassName: classes.input }, testVariantProps: { variant: 'contained', fullWidth: true }, testStateOverrides: { prop: 'size', value: 'small', styleKey: 'sizeSmall' }, slots: { // can't test with DOM element as Input places an ownerState prop on it unconditionally. root: { expectedClassName: classes.root, testWithElement: null }, input: { expectedClassName: classes.input, testWithElement: null }, }, skip: [ 'componentProp', 'slotPropsCallback', // not supported yet 'slotPropsCallbackWithPropsAsOwnerState', // not supported yet ], })); it('should forward classes to InputBase', () => { render(<Input error classes={{ error: 'error' }} />); expect(document.querySelector('.error')).not.to.equal(null); }); it('should respect the slotProps if passed', () => { render(<Input slotProps={{ root: { 'data-test': 'test' } }} />); expect(document.querySelector('[data-test=test]')).not.to.equal(null); }); it('should respect the classes coming from InputBase', () => { render( <Input data-test="test" multiline sx={{ [`&.${classes.multiline}`]: { mt: '10px' } }} />, ); expect(document.querySelector('[data-test=test]')).toHaveComputedStyle({ marginTop: '10px' }); }); it('should not forward the notched prop to the DOM', () => { render(<Input notched data-testid="root" />); expect(screen.getByTestId('root')).not.to.have.attribute('notched'); }); });