From 7bee0018684550d1cf8271462b884507a19b56a1 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Tue, 19 Dec 2023 08:18:44 -0800 Subject: [PATCH] Ensure addons are loaded in standalone tests --- addons/addon-canvas/test/CanvasRenderer.test.ts | 7 ++++++- test/playwright/Renderer.test.ts | 2 +- test/playwright/SharedRendererTests.ts | 5 +++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/addons/addon-canvas/test/CanvasRenderer.test.ts b/addons/addon-canvas/test/CanvasRenderer.test.ts index 2782081c..c8b35c7a 100644 --- a/addons/addon-canvas/test/CanvasRenderer.test.ts +++ b/addons/addon-canvas/test/CanvasRenderer.test.ts @@ -28,5 +28,10 @@ test.describe('Canvas Renderer Integration Tests', () => { test.skip(({ browserName }) => browserName === 'webkit'); injectSharedRendererTests(ctxWrapper); - injectSharedRendererTestsStandalone(ctxWrapper); + injectSharedRendererTestsStandalone(ctxWrapper, async () => { + await ctx.page.evaluate(` + window.addon = new window.CanvasAddon(true); + window.term.loadAddon(window.addon); + `); + }); }); diff --git a/test/playwright/Renderer.test.ts b/test/playwright/Renderer.test.ts index 1381abea..0d0159bd 100644 --- a/test/playwright/Renderer.test.ts +++ b/test/playwright/Renderer.test.ts @@ -21,5 +21,5 @@ test.afterAll(async () => await ctx.page.close()); test.describe('DOM Renderer Integration Tests', () => { injectSharedRendererTests(ctxWrapper); - injectSharedRendererTestsStandalone(ctxWrapper); + injectSharedRendererTestsStandalone(ctxWrapper, () => {}); }); diff --git a/test/playwright/SharedRendererTests.ts b/test/playwright/SharedRendererTests.ts index d566acd9..0b7dac1c 100644 --- a/test/playwright/SharedRendererTests.ts +++ b/test/playwright/SharedRendererTests.ts @@ -1244,16 +1244,17 @@ enum CellColorPosition { * This is much slower than just calling `Terminal.reset` but testing some features needs this * treatment. */ -export function injectSharedRendererTestsStandalone(ctx: ISharedRendererTestContext): void { +export function injectSharedRendererTestsStandalone(ctx: ISharedRendererTestContext, setupCb: () => Promise | void): void { test.describe('standalone tests', () => { test.beforeEach(async () => { // Recreate terminal await openTerminal(ctx.value); - ctx.value.page.evaluate(` + await ctx.value.page.evaluate(` window.term.options.minimumContrastRatio = 1; window.term.options.allowTransparency = false; window.term.options.theme = undefined; `); + await setupCb(); // Clear the cached screenshot before each test frameDetails = undefined; });