pdf-visual-diff
Version:
Visual Regression Testing for PDFs in JavaScript
36 lines • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.compareImages = exports.mkDiffPath = void 0;
const jimp_1 = require("jimp");
const imageUtils_1 = require("./imageUtils");
const diffToken = '.diff';
const mkDiffPath = (path) => {
const dotIndex = path.lastIndexOf('.');
return dotIndex === -1
? path + diffToken
: path.substring(0, dotIndex) + diffToken + path.substring(dotIndex);
};
exports.mkDiffPath = mkDiffPath;
const defaultOpts = {
tolerance: 0,
};
const compareImages = async (expectedImagePath, images, options) => {
const { tolerance } = {
...defaultOpts,
...options,
};
// @ts-expect-error it is a Jimp
const expectedImg = await jimp_1.Jimp.read(expectedImagePath);
// Multi image comparison not implemented!
const img = (0, imageUtils_1.mergeImages)(images);
const diff = (0, jimp_1.diff)(expectedImg, img, tolerance);
if (diff.percent > 0) {
return {
equal: false,
diffs: [{ page: 1, diff: diff.image }],
};
}
return { equal: true };
};
exports.compareImages = compareImages;
//# sourceMappingURL=compare-images.js.map