Browse Source

test: make sure test window is on top for focus tests (#45552)

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <[email protected]>
trop[bot] 2 months ago
parent
commit
452d891be5
2 changed files with 10 additions and 3 deletions
  1. 2 3
      spec/chromium-spec.ts
  2. 8 0
      spec/lib/screen-helpers.ts

+ 2 - 3
spec/chromium-spec.ts

@@ -98,14 +98,13 @@ describe('window.postMessage', () => {
   });
 });
 
-// Tests disabled due to regression in Chromium upgrade
-// https://github.com/electron/electron/issues/45322
-ifdescribe(!(process.platform === 'win32' && process.arch === 'ia32'))('focus handling', () => {
+describe('focus handling', () => {
   let webviewContents: WebContents;
   let w: BrowserWindow;
 
   beforeEach(async () => {
     w = new BrowserWindow({
+      alwaysOnTop: true,
       show: true,
       webPreferences: {
         nodeIntegration: true,

+ 8 - 0
spec/lib/screen-helpers.ts

@@ -122,6 +122,14 @@ export class ScreenCapture {
     return this._expectImpl(findPoint(this.display.size), hexColor, true);
   }
 
+  public async takeScreenshot (filePrefix: string) {
+    const frame = await this.captureFrame();
+    return await createArtifactWithRandomId(
+      (id) => `${filePrefix}-${id}.png`,
+      frame.toPNG()
+    );
+  }
+
   private async captureFrame (): Promise<NativeImage> {
     const sources = await desktopCapturer.getSources({
       types: ['screen'],