test: deflake clipboard read/write specs (#47788)

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
trop[bot] 2025-07-16 11:36:20 -07:00 committed by GitHub
parent e6f2de587f
commit 4c3f14e436
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3271,7 +3271,12 @@ describe('navigator.clipboard.read', () => {
await w.loadFile(path.join(fixturesPath, 'pages', 'blank.html'));
});
const readClipboard: any = () => {
const readClipboard = async () => {
if (!w.webContents.isFocused()) {
const focus = once(w.webContents, 'focus');
w.webContents.focus();
await focus;
}
return w.webContents.executeJavaScript(`
navigator.clipboard.read().then(clipboard => clipboard.toString()).catch(err => err.message);
`, true);
@ -3289,11 +3294,7 @@ describe('navigator.clipboard.read', () => {
it('returns an error when permission denied', async () => {
session.defaultSession.setPermissionRequestHandler((wc, permission, callback) => {
if (permission === 'clipboard-read') {
callback(false);
} else {
callback(true);
}
callback(permission !== 'clipboard-read');
});
const clipboard = await readClipboard();
expect(clipboard).to.contain('Read permission denied.');
@ -3301,11 +3302,7 @@ describe('navigator.clipboard.read', () => {
it('returns clipboard contents when permission is granted', async () => {
session.defaultSession.setPermissionRequestHandler((wc, permission, callback) => {
if (permission === 'clipboard-read') {
callback(true);
} else {
callback(false);
}
callback(permission === 'clipboard-read');
});
const clipboard = await readClipboard();
expect(clipboard).to.not.contain('Read permission denied.');
@ -3319,7 +3316,12 @@ describe('navigator.clipboard.write', () => {
await w.loadFile(path.join(fixturesPath, 'pages', 'blank.html'));
});
const writeClipboard: any = () => {
const writeClipboard = async () => {
if (!w.webContents.isFocused()) {
const focus = once(w.webContents, 'focus');
w.webContents.focus();
await focus;
}
return w.webContents.executeJavaScript(`
navigator.clipboard.writeText('Hello World!').catch(err => err.message);
`, true);
@ -3361,7 +3363,13 @@ describe('navigator.clipboard.write', () => {
});
describe('paste execCommand', () => {
const readClipboard: any = (w: BrowserWindow) => {
const readClipboard = async (w: BrowserWindow) => {
if (!w.webContents.isFocused()) {
const focus = once(w.webContents, 'focus');
w.webContents.focus();
await focus;
}
return w.webContents.executeJavaScript(`
new Promise((resolve) => {
const timeout = setTimeout(() => {