chore(web-platform): release V0.6.1 工程质量优化
This commit is contained in:
@@ -1,3 +1,26 @@
|
||||
import {fireEvent,render,screen} from '@testing-library/react';
|
||||
import {VirtualTreeViewport} from './VirtualTreeViewport';
|
||||
describe('VirtualTreeViewport',()=>{it('只渲染可视窗口并在滚动后更新行',()=>{const items=Array.from({length:1000},(_,id)=>({id,label:`节点 ${id}`}));render(<VirtualTreeViewport label="大型树" items={items} height={100} rowHeight={20} overscan={1} getKey={item=>item.id} renderRow={item=><div>{item.label}</div>}/>);const tree=screen.getByRole('tree',{name:'大型树'});expect(screen.getByText('节点 0')).toBeVisible();expect(screen.queryByText('节点 500')).not.toBeInTheDocument();Object.defineProperty(tree,'scrollTop',{configurable:true,value:10000});fireEvent.scroll(tree);expect(screen.getByText('节点 500')).toBeVisible();fireEvent.keyDown(tree,{key:'ArrowDown'});expect(tree.getAttribute('aria-activedescendant')).toContain('501');});});
|
||||
import { fireEvent, render, screen } from '@testing-library/react';
|
||||
import { VirtualTreeViewport } from './VirtualTreeViewport';
|
||||
describe('VirtualTreeViewport', () => {
|
||||
it('只渲染可视窗口并在滚动后更新行', () => {
|
||||
const items = Array.from({ length: 1000 }, (_, id) => ({ id, label: `节点 ${id}` }));
|
||||
render(
|
||||
<VirtualTreeViewport
|
||||
label="大型树"
|
||||
items={items}
|
||||
height={100}
|
||||
rowHeight={20}
|
||||
overscan={1}
|
||||
getKey={(item) => item.id}
|
||||
renderRow={(item) => <div>{item.label}</div>}
|
||||
/>,
|
||||
);
|
||||
const tree = screen.getByRole('tree', { name: '大型树' });
|
||||
expect(screen.getByText('节点 0')).toBeVisible();
|
||||
expect(screen.queryByText('节点 500')).not.toBeInTheDocument();
|
||||
Object.defineProperty(tree, 'scrollTop', { configurable: true, value: 10000 });
|
||||
fireEvent.scroll(tree);
|
||||
expect(screen.getByText('节点 500')).toBeVisible();
|
||||
fireEvent.keyDown(tree, { key: 'ArrowDown' });
|
||||
expect(tree.getAttribute('aria-activedescendant')).toContain('501');
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user