From fdcd7b549d288eb87533056792b18090fac2afec Mon Sep 17 00:00:00 2001 From: Andrey Lushnikov Date: Mon, 13 Feb 2023 11:11:44 -0800 Subject: [PATCH] chore: mark `comparator` option back as experimental (#20816) This reverts commit 303c5998f8b747e94ac80e2e02c53b47ded11322. Reason for revert: I tried enabling `ssim-cie94` by default on ionic-framework test suite, and it proves to be overly strict for their usecase. --- docs/src/api/class-locatorassertions.md | 6 -- docs/src/api/class-pageassertions.md | 6 -- docs/src/api/class-snapshotassertions.md | 6 -- docs/src/api/params.md | 8 +- docs/src/test-api/class-testconfig.md | 6 +- docs/src/test-api/class-testproject.md | 6 +- .../src/server/dispatchers/pageDispatcher.ts | 4 + .../playwright-core/src/utils/comparators.ts | 8 +- .../src/matchers/toMatchSnapshot.ts | 13 ++-- packages/playwright-test/types/test.d.ts | 74 +++---------------- tests/config/comparator.ts | 2 +- tests/library/playwright.config.ts | 4 +- tests/playwright-test/golden.spec.ts | 8 +- .../to-have-screenshot.spec.ts | 8 +- 14 files changed, 42 insertions(+), 117 deletions(-) diff --git a/docs/src/api/class-locatorassertions.md b/docs/src/api/class-locatorassertions.md index c8fb6180aa..2fa363cee0 100644 --- a/docs/src/api/class-locatorassertions.md +++ b/docs/src/api/class-locatorassertions.md @@ -1385,9 +1385,6 @@ Snapshot name. ### option: LocatorAssertions.toHaveScreenshot#1.scale = %%-screenshot-option-scale-default-css-%% * since: v1.23 -### option: LocatorAssertions.toHaveScreenshot#1.comparator = %%-assertions-comparator-%% -* since: v1.31 - ### option: LocatorAssertions.toHaveScreenshot#1.maxDiffPixels = %%-assertions-max-diff-pixels-%% * since: v1.23 @@ -1431,9 +1428,6 @@ Note that screenshot assertions only work with Playwright test runner. ### option: LocatorAssertions.toHaveScreenshot#2.scale = %%-screenshot-option-scale-default-css-%% * since: v1.23 -### option: LocatorAssertions.toHaveScreenshot#2.comparator = %%-assertions-comparator-%% -* since: v1.31 - ### option: LocatorAssertions.toHaveScreenshot#2.maxDiffPixels = %%-assertions-max-diff-pixels-%% * since: v1.23 diff --git a/docs/src/api/class-pageassertions.md b/docs/src/api/class-pageassertions.md index 29c8b10eae..d484674c8f 100644 --- a/docs/src/api/class-pageassertions.md +++ b/docs/src/api/class-pageassertions.md @@ -164,9 +164,6 @@ Snapshot name. ### option: PageAssertions.toHaveScreenshot#1.scale = %%-screenshot-option-scale-default-css-%% * since: v1.23 -### option: PageAssertions.toHaveScreenshot#1.comparator = %%-assertions-comparator-%% -* since: v1.29 - ### option: PageAssertions.toHaveScreenshot#1.maxDiffPixels = %%-assertions-max-diff-pixels-%% * since: v1.23 @@ -215,9 +212,6 @@ Note that screenshot assertions only work with Playwright test runner. ### option: PageAssertions.toHaveScreenshot#2.scale = %%-screenshot-option-scale-default-css-%% * since: v1.23 -### option: PageAssertions.toHaveScreenshot#2.comparator = %%-assertions-comparator-%% -* since: v1.29 - ### option: PageAssertions.toHaveScreenshot#2.maxDiffPixels = %%-assertions-max-diff-pixels-%% * since: v1.23 diff --git a/docs/src/api/class-snapshotassertions.md b/docs/src/api/class-snapshotassertions.md index faac9465a5..a61a4752b1 100644 --- a/docs/src/api/class-snapshotassertions.md +++ b/docs/src/api/class-snapshotassertions.md @@ -43,9 +43,6 @@ Note that matching snapshots only work with Playwright test runner. Snapshot name. -### option: SnapshotAssertions.toMatchSnapshot#1.comparator = %%-assertions-comparator-%% -* since: v1.29 - ### option: SnapshotAssertions.toMatchSnapshot#1.maxDiffPixels = %%-assertions-max-diff-pixels-%% * since: v1.22 @@ -82,9 +79,6 @@ Learn more about [visual comparisons](../test-snapshots.md). Note that matching snapshots only work with Playwright test runner. -### option: SnapshotAssertions.toMatchSnapshot#2.comparator = %%-assertions-comparator-%% -* since: v1.29 - ### option: SnapshotAssertions.toMatchSnapshot#2.maxDiffPixels = %%-assertions-max-diff-pixels-%% * since: v1.22 diff --git a/docs/src/api/params.md b/docs/src/api/params.md index 5ee285e0dd..22155e2022 100644 --- a/docs/src/api/params.md +++ b/docs/src/api/params.md @@ -812,12 +812,6 @@ Time to retry the assertion for. An acceptable amount of pixels that could be different. Default is configurable with `TestConfig.expect`. Unset by default. -## assertions-comparator -* langs: js -- `comparator` <[string]> Either `"pixelmatch"` or `"ssim-cie94"`. - -A comparator function to use when comparing images. Defaults to `"pixelmatch"`. - ## assertions-max-diff-pixel-ratio * langs: js - `maxDiffPixelRatio` <[float]> @@ -830,7 +824,7 @@ An acceptable ratio of pixels that are different to the total amount of pixels, An acceptable perceived color difference in the [YIQ color space](https://en.wikipedia.org/wiki/YIQ) between the same pixel in compared images, between zero (strict) and one (lax), default is configurable with -`TestConfig.expect`. Defaults to `0.2`. This option is used by "pixelmatch" image comparator. +`TestConfig.expect`. Defaults to `0.2`. ## shared-context-params-list-v1.8 - %%-context-option-acceptdownloads-%% diff --git a/docs/src/test-api/class-testconfig.md b/docs/src/test-api/class-testconfig.md index 8aa2f72e59..ea33da565b 100644 --- a/docs/src/test-api/class-testconfig.md +++ b/docs/src/test-api/class-testconfig.md @@ -37,16 +37,14 @@ export default defineConfig({ - type: ?<[Object]> - `timeout` ?<[int]> Default timeout for async expect matchers in milliseconds, defaults to 5000ms. - `toHaveScreenshot` ?<[Object]> Configuration for the [`method: PageAssertions.toHaveScreenshot#1`] method. - - `comparator` ?<[string]> a comparator function to use, either `"pixelmatch"` or `"ssim-cie94"`. Defaults to `"pixelmatch"`. - - `threshold` ?<[float]> an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and `1` (lax). `"pixelmatch"` comparator computes color difference in [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. This option is used by `pixelmatch` image comparator. + - `threshold` ?<[float]> an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and `1` (lax). `"pixelmatch"` comparator computes color difference in [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. - `maxDiffPixels` ?<[int]> an acceptable amount of pixels that could be different, unset by default. - `maxDiffPixelRatio` ?<[float]> an acceptable ratio of pixels that are different to the total amount of pixels, between `0` and `1` , unset by default. - `animations` ?<[ScreenshotAnimations]<"allow"|"disabled">> See [`option: animations`] in [`method: Page.screenshot`]. Defaults to `"disabled"`. - `caret` ?<[ScreenshotCaret]<"hide"|"initial">> See [`option: caret`] in [`method: Page.screenshot`]. Defaults to `"hide"`. - `scale` ?<[ScreenshotScale]<"css"|"device">> See [`option: scale`] in [`method: Page.screenshot`]. Defaults to `"css"`. - `toMatchSnapshot` ?<[Object]> Configuration for the [`method: SnapshotAssertions.toMatchSnapshot#1`] method. - - `comparator` ?<[string]> a comparator function to use, either `"pixelmatch"` or `"ssim-cie94"`. Defaults to `"pixelmatch"`. - - `threshold` ?<[float]> an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and `1` (lax). `"pixelmatch"` comparator computes color difference in [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. This option is used by `pixelmatch` image comparator. + - `threshold` ?<[float]> an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and `1` (lax). `"pixelmatch"` comparator computes color difference in [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. - `maxDiffPixels` ?<[int]> an acceptable amount of pixels that could be different, unset by default. - `maxDiffPixelRatio` ?<[float]> an acceptable ratio of pixels that are different to the total amount of pixels, between `0` and `1` , unset by default. diff --git a/docs/src/test-api/class-testproject.md b/docs/src/test-api/class-testproject.md index b1483fdda5..fa8d491e70 100644 --- a/docs/src/test-api/class-testproject.md +++ b/docs/src/test-api/class-testproject.md @@ -133,16 +133,14 @@ export default defineConfig({ - type: ?<[Object]> - `timeout` ?<[int]> Default timeout for async expect matchers in milliseconds, defaults to 5000ms. - `toHaveScreenshot` ?<[Object]> Configuration for the [`method: PageAssertions.toHaveScreenshot#1`] method. - - `comparator` ?<[string]> a comparator function to use, either `"pixelmatch"` or `"ssim-cie94"`. Defaults to `"pixelmatch"`. - - `threshold` ?<[float]> an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and `1` (lax). `"pixelmatch"` comparator computes color difference in [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. This option is used by `pixelmatch` image comparator. + - `threshold` ?<[float]> an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and `1` (lax). `"pixelmatch"` comparator computes color difference in [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. - `maxDiffPixels` ?<[int]> an acceptable amount of pixels that could be different, unset by default. - `maxDiffPixelRatio` ?<[float]> an acceptable ratio of pixels that are different to the total amount of pixels, between `0` and `1` , unset by default. - `animations` ?<[ScreenshotAnimations]<"allow"|"disabled">> See [`option: animations`] in [`method: Page.screenshot`]. Defaults to `"disabled"`. - `caret` ?<[ScreenshotCaret]<"hide"|"initial">> See [`option: caret`] in [`method: Page.screenshot`]. Defaults to `"hide"`. - `scale` ?<[ScreenshotScale]<"css"|"device">> See [`option: scale`] in [`method: Page.screenshot`]. Defaults to `"css"`. - `toMatchSnapshot` ?<[Object]> Configuration for the [`method: SnapshotAssertions.toMatchSnapshot#1`] method. - - `comparator` ?<[string]> a comparator function to use, either `"pixelmatch"` or `"ssim-cie94"`. Defaults to `"pixelmatch"`. - - `threshold` ?<[float]> an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and `1` (lax). `"pixelmatch"` comparator computes color difference in [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. This option is used by `pixelmatch` image comparator. + - `threshold` ?<[float]> an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and `1` (lax). `"pixelmatch"` comparator computes color difference in [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. - `maxDiffPixels` ?<[int]> an acceptable amount of pixels that could be different, unset by default. - `maxDiffPixelRatio` ?<[float]> an acceptable ratio of pixels that are different to the total amount of pixels, between `0` and `1` , unset by default. diff --git a/packages/playwright-core/src/server/dispatchers/pageDispatcher.ts b/packages/playwright-core/src/server/dispatchers/pageDispatcher.ts index 415ee2b9e9..4d2fdfc4d0 100644 --- a/packages/playwright-core/src/server/dispatchers/pageDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/pageDispatcher.ts @@ -181,6 +181,10 @@ export class PageDispatcher extends Dispatcher ComparatorResult; @@ -64,18 +64,18 @@ function compareImages(mimeType: string, actualBuffer: Buffer | string, expected } const diff = new PNG({ width: size.width, height: size.height }); let count; - if (options.comparator === 'ssim-cie94') { + if (options._comparator === 'ssim-cie94') { count = compare(expected.data, actual.data, diff.data, size.width, size.height, { // All ΔE* formulae are originally designed to have the difference of 1.0 stand for a "just noticeable difference" (JND). // See https://en.wikipedia.org/wiki/Color_difference#CIELAB_%CE%94E* maxColorDeltaE94: 1.0, }); - } else if ((options.comparator ?? 'pixelmatch') === 'pixelmatch') { + } else if ((options._comparator ?? 'pixelmatch') === 'pixelmatch') { count = pixelmatch(expected.data, actual.data, diff.data, size.width, size.height, { threshold: options.threshold ?? 0.2, }); } else { - throw new Error(`Configuration specifies unknown comparator "${options.comparator}"`); + throw new Error(`Configuration specifies unknown comparator "${options._comparator}"`); } const maxDiffPixels1 = options.maxDiffPixels; diff --git a/packages/playwright-test/src/matchers/toMatchSnapshot.ts b/packages/playwright-test/src/matchers/toMatchSnapshot.ts index db87f84690..f0c74c4abb 100644 --- a/packages/playwright-test/src/matchers/toMatchSnapshot.ts +++ b/packages/playwright-test/src/matchers/toMatchSnapshot.ts @@ -145,7 +145,7 @@ class SnapshotHelper { maxDiffPixels: options.maxDiffPixels, maxDiffPixelRatio: options.maxDiffPixelRatio, threshold: options.threshold, - comparator: options.comparator, + _comparator: options._comparator, }; this.kind = this.mimeType.startsWith('image/') ? 'Screenshot' : 'Snapshot'; } @@ -306,7 +306,7 @@ export async function toHaveScreenshot( const helper = new SnapshotHelper( testInfo, snapshotPathResolver, 'png', { - comparator: config?.comparator, + _comparator: config?._comparator, maxDiffPixels: config?.maxDiffPixels, maxDiffPixelRatio: config?.maxDiffPixelRatio, threshold: config?.threshold, @@ -342,7 +342,10 @@ export async function toHaveScreenshot( expected: await fs.promises.readFile(helper.snapshotPath), isNot: true, locator, - comparatorOptions: helper.comparatorOptions, + comparatorOptions: { + ...helper.comparatorOptions, + comparator: helper.comparatorOptions._comparator, + }, screenshotOptions, timeout: currentExpectTimeout(helper.allOptions), })).errorMessage; @@ -360,7 +363,7 @@ export async function toHaveScreenshot( expected: undefined, isNot: false, locator, - comparatorOptions: helper.comparatorOptions, + comparatorOptions: { ...helper.comparatorOptions, comparator: helper.comparatorOptions._comparator }, screenshotOptions, timeout, }); @@ -382,7 +385,7 @@ export async function toHaveScreenshot( expected, isNot: false, locator, - comparatorOptions: helper.comparatorOptions, + comparatorOptions: { ...helper.comparatorOptions, comparator: helper.comparatorOptions._comparator }, screenshotOptions, timeout: currentExpectTimeout(helper.allOptions), }); diff --git a/packages/playwright-test/types/test.d.ts b/packages/playwright-test/types/test.d.ts index f38161479a..8105324977 100644 --- a/packages/playwright-test/types/test.d.ts +++ b/packages/playwright-test/types/test.d.ts @@ -551,16 +551,10 @@ interface TestConfig { * method. */ toHaveScreenshot?: { - /** - * a comparator function to use, either `"pixelmatch"` or `"ssim-cie94"`. Defaults to `"pixelmatch"`. - */ - comparator?: string; - /** * an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and * `1` (lax). `"pixelmatch"` comparator computes color difference in - * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. This option is used - * by `pixelmatch` image comparator. + * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. */ threshold?: number; @@ -600,16 +594,10 @@ interface TestConfig { * method. */ toMatchSnapshot?: { - /** - * a comparator function to use, either `"pixelmatch"` or `"ssim-cie94"`. Defaults to `"pixelmatch"`. - */ - comparator?: string; - /** * an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and * `1` (lax). `"pixelmatch"` comparator computes color difference in - * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. This option is used - * by `pixelmatch` image comparator. + * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. */ threshold?: number; @@ -4767,11 +4755,6 @@ interface LocatorAssertions { */ caret?: "hide"|"initial"; - /** - * A comparator function to use when comparing images. Defaults to `"pixelmatch"`. - */ - comparator?: string; - /** * Specify locators that should be masked when the screenshot is taken. Masked elements will be overlaid with a pink * box `#FF00FF` that completely covers its bounding box. @@ -4808,7 +4791,7 @@ interface LocatorAssertions { /** * An acceptable perceived color difference in the [YIQ color space](https://en.wikipedia.org/wiki/YIQ) between the * same pixel in compared images, between zero (strict) and one (lax), default is configurable with - * `TestConfig.expect`. Defaults to `0.2`. This option is used by "pixelmatch" image comparator. + * `TestConfig.expect`. Defaults to `0.2`. */ threshold?: number; @@ -4849,11 +4832,6 @@ interface LocatorAssertions { */ caret?: "hide"|"initial"; - /** - * A comparator function to use when comparing images. Defaults to `"pixelmatch"`. - */ - comparator?: string; - /** * Specify locators that should be masked when the screenshot is taken. Masked elements will be overlaid with a pink * box `#FF00FF` that completely covers its bounding box. @@ -4890,7 +4868,7 @@ interface LocatorAssertions { /** * An acceptable perceived color difference in the [YIQ color space](https://en.wikipedia.org/wiki/YIQ) between the * same pixel in compared images, between zero (strict) and one (lax), default is configurable with - * `TestConfig.expect`. Defaults to `0.2`. This option is used by "pixelmatch" image comparator. + * `TestConfig.expect`. Defaults to `0.2`. */ threshold?: number; @@ -5102,11 +5080,6 @@ interface PageAssertions { height: number; }; - /** - * A comparator function to use when comparing images. Defaults to `"pixelmatch"`. - */ - comparator?: string; - /** * When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Defaults to * `false`. @@ -5149,7 +5122,7 @@ interface PageAssertions { /** * An acceptable perceived color difference in the [YIQ color space](https://en.wikipedia.org/wiki/YIQ) between the * same pixel in compared images, between zero (strict) and one (lax), default is configurable with - * `TestConfig.expect`. Defaults to `0.2`. This option is used by "pixelmatch" image comparator. + * `TestConfig.expect`. Defaults to `0.2`. */ threshold?: number; @@ -5214,11 +5187,6 @@ interface PageAssertions { height: number; }; - /** - * A comparator function to use when comparing images. Defaults to `"pixelmatch"`. - */ - comparator?: string; - /** * When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Defaults to * `false`. @@ -5261,7 +5229,7 @@ interface PageAssertions { /** * An acceptable perceived color difference in the [YIQ color space](https://en.wikipedia.org/wiki/YIQ) between the * same pixel in compared images, between zero (strict) and one (lax), default is configurable with - * `TestConfig.expect`. Defaults to `0.2`. This option is used by "pixelmatch" image comparator. + * `TestConfig.expect`. Defaults to `0.2`. */ threshold?: number; @@ -5360,11 +5328,6 @@ interface SnapshotAssertions { * @param options */ toMatchSnapshot(name: string|Array, options?: { - /** - * A comparator function to use when comparing images. Defaults to `"pixelmatch"`. - */ - comparator?: string; - /** * An acceptable ratio of pixels that are different to the total amount of pixels, between `0` and `1`. Default is * configurable with `TestConfig.expect`. Unset by default. @@ -5380,7 +5343,7 @@ interface SnapshotAssertions { /** * An acceptable perceived color difference in the [YIQ color space](https://en.wikipedia.org/wiki/YIQ) between the * same pixel in compared images, between zero (strict) and one (lax), default is configurable with - * `TestConfig.expect`. Defaults to `0.2`. This option is used by "pixelmatch" image comparator. + * `TestConfig.expect`. Defaults to `0.2`. */ threshold?: number; }): void; @@ -5413,11 +5376,6 @@ interface SnapshotAssertions { * @param options */ toMatchSnapshot(options?: { - /** - * A comparator function to use when comparing images. Defaults to `"pixelmatch"`. - */ - comparator?: string; - /** * An acceptable ratio of pixels that are different to the total amount of pixels, between `0` and `1`. Default is * configurable with `TestConfig.expect`. Unset by default. @@ -5438,7 +5396,7 @@ interface SnapshotAssertions { /** * An acceptable perceived color difference in the [YIQ color space](https://en.wikipedia.org/wiki/YIQ) between the * same pixel in compared images, between zero (strict) and one (lax), default is configurable with - * `TestConfig.expect`. Defaults to `0.2`. This option is used by "pixelmatch" image comparator. + * `TestConfig.expect`. Defaults to `0.2`. */ threshold?: number; }): void; @@ -5575,16 +5533,10 @@ interface TestProject { * method. */ toHaveScreenshot?: { - /** - * a comparator function to use, either `"pixelmatch"` or `"ssim-cie94"`. Defaults to `"pixelmatch"`. - */ - comparator?: string; - /** * an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and * `1` (lax). `"pixelmatch"` comparator computes color difference in - * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. This option is used - * by `pixelmatch` image comparator. + * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. */ threshold?: number; @@ -5624,16 +5576,10 @@ interface TestProject { * method. */ toMatchSnapshot?: { - /** - * a comparator function to use, either `"pixelmatch"` or `"ssim-cie94"`. Defaults to `"pixelmatch"`. - */ - comparator?: string; - /** * an acceptable perceived color difference between the same pixel in compared images, ranging from `0` (strict) and * `1` (lax). `"pixelmatch"` comparator computes color difference in - * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. This option is used - * by `pixelmatch` image comparator. + * [YIQ color space](https://en.wikipedia.org/wiki/YIQ) and defaults `threshold` value to `0.2`. */ threshold?: number; diff --git a/tests/config/comparator.ts b/tests/config/comparator.ts index 3376da3e80..4a87bf4bb5 100644 --- a/tests/config/comparator.ts +++ b/tests/config/comparator.ts @@ -22,5 +22,5 @@ type ImageComparatorOptions = { threshold?: number, maxDiffPixels?: number, maxD export function comparePNGs(actual: Buffer, expected: Buffer, options: ImageComparatorOptions = {}): ComparatorResult { // Strict threshold by default in our tests. - return pngComparator(actual, expected, { comparator: 'ssim-cie94', threshold: 0, ...options }); + return pngComparator(actual, expected, { _comparator: 'ssim-cie94', threshold: 0, ...options }); } diff --git a/tests/library/playwright.config.ts b/tests/library/playwright.config.ts index af08a59ede..90ba9e7c9b 100644 --- a/tests/library/playwright.config.ts +++ b/tests/library/playwright.config.ts @@ -47,8 +47,8 @@ const config: Config { test('should pass', ({}) => { expect(Buffer.from('${actual.toString('base64')}', 'base64')).toMatchSnapshot('snapshot.png', { threshold: 0, - comparator: 'ssim-cie94', + _comparator: 'ssim-cie94', }); }); test('should fail', ({}) => { expect(Buffer.from('${actual.toString('base64')}', 'base64')).toMatchSnapshot('snapshot.png', { threshold: 0, - comparator: 'pixelmatch', + _comparator: 'pixelmatch', }); }); ` @@ -662,7 +662,7 @@ test('should respect comparator in config', async ({ runInlineTest }) => { name: 'should-pass', expect: { toMatchSnapshot: { - comparator: 'ssim-cie94', + _comparator: 'ssim-cie94', } }, }, @@ -670,7 +670,7 @@ test('should respect comparator in config', async ({ runInlineTest }) => { name: 'should-fail', expect: { toMatchSnapshot: { - comparator: 'pixelmatch', + _comparator: 'pixelmatch', } }, }, diff --git a/tests/playwright-test/to-have-screenshot.spec.ts b/tests/playwright-test/to-have-screenshot.spec.ts index 4a814a0640..41344f0942 100644 --- a/tests/playwright-test/to-have-screenshot.spec.ts +++ b/tests/playwright-test/to-have-screenshot.spec.ts @@ -1040,14 +1040,14 @@ test('should respect comparator name', async ({ runInlineTest }) => { await page.goto('${actualURL}'); await expect(page.locator('img')).toHaveScreenshot('snapshot.png', { threshold: 0, - comparator: 'ssim-cie94', + _comparator: 'ssim-cie94', }); }); pwt.test('should fail', async ({ page }) => { await page.goto('${actualURL}'); await expect(page.locator('img')).toHaveScreenshot('snapshot.png', { threshold: 0, - comparator: 'pixelmatch', + _comparator: 'pixelmatch', }); }); ` @@ -1070,7 +1070,7 @@ test('should respect comparator in config', async ({ runInlineTest }) => { name: 'should-pass', expect: { toHaveScreenshot: { - comparator: 'ssim-cie94', + _comparator: 'ssim-cie94', } }, }, @@ -1078,7 +1078,7 @@ test('should respect comparator in config', async ({ runInlineTest }) => { name: 'should-fail', expect: { toHaveScreenshot: { - comparator: 'pixelmatch', + _comparator: 'pixelmatch', } }, },