修复图片信息文本复制

移除图片信息弹窗的整段复制按钮

保留选中文本时的浏览器原生 Ctrl+C

放行图片信息弹窗内的浏览器右键菜单

补充文本复制与右键菜单回归测试
This commit is contained in:
2026-06-28 17:40:27 +08:00
parent 4321312b8e
commit 73121f18ba
7 changed files with 75 additions and 123 deletions
@@ -287,6 +287,37 @@ describe('ImageCanvasEditorShellView', () => {
expect((preview as HTMLElement).style.top).toBe('48px');
});
it('keeps the native context menu available inside metadata text', () => {
render(
<ImageCanvasEditorShellView
editorRootRef={createRef<HTMLElement>()}
uploadInputRef={createRef<HTMLInputElement>()}
onUploadInputChange={vi.fn()}
assetDragPreview={null}
sidebarProps={createSidebarProps()}
topbarProps={createTopbarProps()}
stageProps={createStageProps()}
metadataProps={createMetadataProps(createLayer())}
/>,
);
const editor = screen.getByRole('region', { name: '图片画布编辑器' });
const metadataText = screen.getByText('上传图片');
const metadataContextMenuEvent = new MouseEvent('contextmenu', {
bubbles: true,
cancelable: true,
});
metadataText.dispatchEvent(metadataContextMenuEvent);
expect(metadataContextMenuEvent.defaultPrevented).toBe(false);
const editorContextMenuEvent = new MouseEvent('contextmenu', {
bubbles: true,
cancelable: true,
});
editor.dispatchEvent(editorContextMenuEvent);
expect(editorContextMenuEvent.defaultPrevented).toBe(true);
});
it('renders quick edit selection tools through the stage props', () => {
const layer = createLayer();
const handleQuickEditToolChange = vi.fn();