2022-11-08 00:32:46 +03:00
|
|
|
/**
|
|
|
|
* Copyright Microsoft Corporation. All rights reserved.
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
2023-01-14 00:50:38 +03:00
|
|
|
import { getComparator } from '../../packages/playwright-core/lib/utils/comparators';
|
2022-11-08 00:32:46 +03:00
|
|
|
|
|
|
|
const pngComparator = getComparator('image/png');
|
|
|
|
type ComparatorResult = { diff?: Buffer; errorMessage: string; } | null;
|
|
|
|
type ImageComparatorOptions = { threshold?: number, maxDiffPixels?: number, maxDiffPixelRatio?: number };
|
|
|
|
|
|
|
|
export function comparePNGs(actual: Buffer, expected: Buffer, options: ImageComparatorOptions = {}): ComparatorResult {
|
|
|
|
// Strict threshold by default in our tests.
|
2023-02-13 22:11:44 +03:00
|
|
|
return pngComparator(actual, expected, { _comparator: 'ssim-cie94', threshold: 0, ...options });
|
2022-11-08 00:32:46 +03:00
|
|
|
}
|