diff --git a/package.json b/package.json index bc66fbd4..407a2c29 100644 --- a/package.json +++ b/package.json @@ -47,10 +47,10 @@ "esbuild-demo-server-watch": "node bin/esbuild.mjs --demo-server --watch", "test": "npm run test-unit", "posttest": "npm run lint", - "lint": "eslint --max-warnings 0 src/ addons/ demo/", + "lint": "eslint --max-warnings 0 src/ addons/ demo/ test/", "lint-changes": "node ./bin/lint_changes.js", "lint-changes-fix": "node ./bin/lint_changes.js --fix", - "lint-fix": "eslint --fix src/ addons/ demo/", + "lint-fix": "eslint --fix src/ addons/ demo/ test/", "lint-api": "eslint --config eslint.config.typings.mjs --max-warnings 0 typings/", "test-unit": "node ./bin/test_unit.js", "test-unit-slow-tests": "npm run test-unit | grep \"ms)\"", diff --git a/test/playwright/SharedRendererTests.ts b/test/playwright/SharedRendererTests.ts index 138fba70..8f0e227d 100644 --- a/test/playwright/SharedRendererTests.ts +++ b/test/playwright/SharedRendererTests.ts @@ -1012,7 +1012,7 @@ export function injectSharedRendererTests(ctx: ISharedRendererTestContext): void await ctx.value.proxy.writeln('\x1b[31;42;7m\u{E0B4} red fg green bg inverse\x1b[0m'); await ctx.value.proxy.writeln('\x1b[32;41;7m\u{E0B4} green fg red bg inverse\x1b[0m'); await ctx.value.proxy.selectAll(); - await pollFor(ctx.value.page, () => getCellColor(ctx.value, 1, 1), [255,255,255,255]); + await pollFor(ctx.value.page, () => getCellColor(ctx.value, 1, 1), [255, 255, 255, 255]); await pollFor(ctx.value.page, () => getCellColor(ctx.value, 1, 2), [230, 128, 128, 255]); await pollFor(ctx.value.page, () => getCellColor(ctx.value, 1, 3), [128, 230, 128, 255]); await pollFor(ctx.value.page, () => getCellColor(ctx.value, 1, 4), [128, 230, 128, 255]); @@ -1397,9 +1397,7 @@ export function injectSharedRendererTestsStandalone(ctx: ISharedRendererTestCont * @param row The 1-based row index to get the color for. */ async function getCellColor(ctx: ITestContext, col: number, row: number, position: CellColorPosition = CellColorPosition.CENTER): Promise<[red: number, green: number, blue: number, alpha: number]> { - if (!frameDetails) { - frameDetails = await getFrameDetails(ctx); - } + frameDetails ??= await getFrameDetails(ctx); switch (position) { case CellColorPosition.CENTER: return getCellColorInner(frameDetails, col, row); diff --git a/test/playwright/TestUtils.ts b/test/playwright/TestUtils.ts index 3995419f..59bcc1e8 100644 --- a/test/playwright/TestUtils.ts +++ b/test/playwright/TestUtils.ts @@ -46,19 +46,17 @@ class EventEmitter { private _disposed: boolean = false; public get event(): IEvent { - if (!this._event) { - this._event = (listener: (arg1: T, arg2: U) => any) => { - this._listeners.add(listener); - const disposable = { - dispose: () => { - if (!this._disposed) { - this._listeners.delete(listener); - } + this._event ??= (listener: (arg1: T, arg2: U) => any) => { + this._listeners.add(listener); + const disposable = { + dispose: () => { + if (!this._disposed) { + this._listeners.delete(listener); } - }; - return disposable; + } }; - } + return disposable; + }; return this._event; } @@ -525,9 +523,7 @@ interface IPollForOptions { } export async function pollFor(page: playwright.Page, evalOrFn: string | (() => MaybeAsync), val: T, preFn?: () => Promise, options?: IPollForOptions): Promise { - if (!options) { - options = {}; - } + options ??= {}; options.stack ??= new Error().stack; if (preFn) { await preFn(); @@ -551,9 +547,7 @@ export async function pollFor(page: playwright.Page, evalOrFn: string | (() = } if (!equalityCheck) { - if (options.maxDuration === undefined) { - options.maxDuration = 2000; - } + options.maxDuration ??= 2000; if (options.maxDuration <= 0) { deepStrictEqual(result, val, ([ `pollFor max duration exceeded.`,