Merge pull request #18246 from calixteman/fix_js_error

Fix an query with an empty selector in integration tests
This commit is contained in:
Tim van der Meij 2024-06-14 18:20:44 +02:00 committed by GitHub
commit f00152bf92
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -268,23 +268,18 @@ async function pasteFromClipboard(page, data, selector, timeout = 100) {
const handle = await page.evaluateHandle( const handle = await page.evaluateHandle(
(sel, timeOut) => { (sel, timeOut) => {
let callback = null; let callback = null;
const element = sel ? document.querySelector(sel) : document;
return [ return [
Promise.race([ Promise.race([
new Promise(resolve => { new Promise(resolve => {
callback = e => resolve(e.clipboardData.items.length !== 0); callback = e => resolve(e.clipboardData.items.length !== 0);
(sel ? document.querySelector(sel) : document).addEventListener( element.addEventListener("paste", callback, {
"paste", once: true,
callback, });
{
once: true,
}
);
}), }),
new Promise(resolve => { new Promise(resolve => {
setTimeout(() => { setTimeout(() => {
document element.removeEventListener("paste", callback);
.querySelector(sel)
.removeEventListener("paste", callback);
resolve(false); resolve(false);
}, timeOut); }, timeOut);
}), }),