补充 Delete 快捷键页面验收测试
验证页面选中节点可通过 Delete 删除 覆盖真实树面板选择与删除后的渲染结果
This commit is contained in:
@@ -490,6 +490,30 @@ describe('UiEditorPage', () => {
|
||||
expect(result.current.history.canUndo).toBe(true);
|
||||
});
|
||||
|
||||
it('deletes the selected node from the page with Delete', async () => {
|
||||
const state = stateWithPages(['page']);
|
||||
state.ui_trees[0]!.root.children = [node('page-child')];
|
||||
const stateStore: IUiDesignStateStore = {
|
||||
load: vi.fn().mockResolvedValue({ revision: 0, state }),
|
||||
save: vi.fn(),
|
||||
generateCode: vi.fn().mockRejectedValue(new Error('测试未配置代码生成')),
|
||||
};
|
||||
|
||||
render(
|
||||
createElement(UiEditorPage, {
|
||||
projectPath: '/tmp/ui-editor-delete-keyboard',
|
||||
resourceId: 'ui-resource',
|
||||
stateStore,
|
||||
}),
|
||||
);
|
||||
|
||||
const child = await screen.findByText('page-child');
|
||||
fireEvent.click(child);
|
||||
fireEvent.keyDown(window, { key: 'Delete' });
|
||||
|
||||
await waitFor(() => expect(screen.queryByText('page-child')).toBeNull());
|
||||
});
|
||||
|
||||
it('keeps Inspector status highlighting separate from node navigation', async () => {
|
||||
const { result } = await renderLoadedSession(stateWithPages(['page']));
|
||||
const rootId = 'page-root';
|
||||
|
||||
Reference in New Issue
Block a user