feat(web-platform): release V0.1

This commit is contained in:
2026-08-20 16:36:19 +08:00
parent 1eb05132f1
commit e4849e1645
11 changed files with 160 additions and 61 deletions
@@ -1,4 +1,4 @@
import {render,screen,within} from '@testing-library/react';
import {fireEvent,render,screen,within} from '@testing-library/react';
import {buildProjectTree,ProjectTree} from './ProjectTree';
const files=[
@@ -20,12 +20,13 @@ describe('ProjectTree',()=>{
});
it('以可折叠目录显示文件名,而不是平铺完整路径',()=>{
render(<ProjectTree files={files} entries={[{path:'robot/model.xml',format:'mjcf',label:'model'}]} selectedEntry="robot/model.xml"/>);
const tree=screen.getByRole('navigation',{name:'工程文件树'});
expect(within(tree).getByText('robot')).toBeVisible();
expect(within(tree).getByText('meshes')).toBeVisible();
render(<ProjectTree files={files} entries={[{path:'robot/model.xml',format:'urdf',label:'model'}]} selectedEntry="robot/model.xml"/>);
const tree=screen.getByRole('navigation',{name:'工程文件树'}),robot=within(tree).getByText('robot'),meshes=within(tree).getByText('meshes');
expect(robot.closest('details')).toHaveAttribute('open');
expect(meshes.closest('details')).not.toHaveAttribute('open');
fireEvent.click(meshes);
expect(within(tree).getByText('arm.obj')).toBeVisible();
expect(within(tree).queryByText('robot/meshes/arm.obj')).not.toBeInTheDocument();
expect(within(tree).getByText('mjcf')).toBeVisible();
expect(within(tree).getByText('urdf')).toBeVisible();
});
});