import { fireEvent, render, screen } from '@testing-library/react'; import { WorkbenchHeader } from './WorkbenchHeader'; const fn = () => {}; describe('WorkbenchHeader', () => { it('保留导入、源代码直达、命令与侧栏入口,不再重复仿真控制', () => { const source = vi.fn(), files = vi.fn(), left = vi.fn(); render( , ); expect(screen.getByRole('heading', { name: 'MuJoCo' })).toBeVisible(); fireEvent.change(screen.getByLabelText('打开文件'), { target: { files: [new File(['x'], 'model.xml')] }, }); expect(files).toHaveBeenCalledOnce(); expect(screen.getByLabelText('打开文件夹')).toHaveAttribute('webkitdirectory'); expect(screen.getByRole('button', { name: '源代码' })).toBeVisible(); expect(screen.queryByRole('button', { name: '工程' })).not.toBeInTheDocument(); fireEvent.click(screen.getByRole('button', { name: '源代码' })); expect(source).toHaveBeenCalledOnce(); fireEvent.click(screen.getByRole('button', { name: '隐藏工程面板' })); expect(left).toHaveBeenCalledOnce(); expect(screen.getByRole('button', { name: '隐藏工程面板' })).toHaveAttribute( 'aria-expanded', 'true', ); expect(screen.getByRole('button', { name: '打开命令面板' })).toBeVisible(); expect(screen.queryByRole('button', { name: '▶ 播放' })).not.toBeInTheDocument(); }); });