|
2 | 2 | import { act, fireEvent, render } from '@testing-library/react'; |
3 | 3 | import { resetWarned } from '@rc-component/util/lib/warning'; |
4 | 4 | import React from 'react'; |
5 | | -import Menu, { MenuItem, SubMenu } from '../src'; |
| 5 | +import Menu, { MenuItem, MenuItemGroup, SubMenu } from '../src'; |
6 | 6 | import { isActive, last } from './util'; |
7 | 7 |
|
8 | 8 | jest.mock('@rc-component/trigger', () => { |
@@ -483,5 +483,32 @@ describe('SubMenu', () => { |
483 | 483 | '150px', |
484 | 484 | ); |
485 | 485 | }); |
| 486 | + it('support classNames and styles', () => { |
| 487 | + const testClassNames = { |
| 488 | + list: 'test-list', |
| 489 | + listTitle: 'test-list-title', |
| 490 | + }; |
| 491 | + const testStyles = { |
| 492 | + list: { color: 'red' }, |
| 493 | + listTitle: { color: 'blue' }, |
| 494 | + }; |
| 495 | + const { container } = render( |
| 496 | + <Menu openKeys={['s1']}> |
| 497 | + <SubMenu key="s1" title="submenu1" classNames={testClassNames} styles={testStyles}> |
| 498 | + <MenuItemGroup title="group 1" key="2"> |
| 499 | + <MenuItem key="s1-1">1</MenuItem> |
| 500 | + </MenuItemGroup> |
| 501 | + </SubMenu> |
| 502 | + </Menu>, |
| 503 | + ); |
| 504 | + fireEvent.mouseEnter(container.querySelector('.rc-menu-submenu-title')); |
| 505 | + runAllTimer(); |
| 506 | + const list = container.querySelector('.rc-menu-item-group-list'); |
| 507 | + const listTitle = container.querySelector('.rc-menu-item-group-title'); |
| 508 | + expect(list).toHaveClass(testClassNames.list); |
| 509 | + expect(list).toHaveStyle(testStyles.list); |
| 510 | + expect(listTitle).toHaveClass(testClassNames.listTitle); |
| 511 | + expect(listTitle).toHaveStyle(testStyles.listTitle); |
| 512 | + }); |
486 | 513 | }); |
487 | 514 | /* eslint-enable */ |
0 commit comments