universo-platform-2d
28 строк · 804.0 Байт
1import type { Page } from '@playwright/test';
2
3import { focusInlineEditor } from './page-logic';
4
5export async function importImage(page: Page, url: string) {
6await focusInlineEditor(page);
7await page.evaluate(
8([url]) => {
9const clipData = {
10'text/html': `<img alt={'Sample image'} src=${url} />`,
11};
12const e = new ClipboardEvent('paste', {
13clipboardData: new DataTransfer(),
14});
15Object.defineProperty(e, 'target', {
16writable: false,
17value: document,
18});
19Object.entries(clipData).forEach(([key, value]) => {
20e.clipboardData?.setData(key, value);
21});
22document.dispatchEvent(e);
23},
24[url]
25);
26// TODO(@catsjuice): wait for image to be loaded more reliably
27await page.waitForTimeout(1000);
28}
29