Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/lib/screenshot-testing/support/chai-extras.js')
-rw-r--r--tests/lib/screenshot-testing/support/chai-extras.js24
1 files changed, 18 insertions, 6 deletions
diff --git a/tests/lib/screenshot-testing/support/chai-extras.js b/tests/lib/screenshot-testing/support/chai-extras.js
index 1253f8fb13..f2c7f0544d 100644
--- a/tests/lib/screenshot-testing/support/chai-extras.js
+++ b/tests/lib/screenshot-testing/support/chai-extras.js
@@ -108,6 +108,14 @@ function capture(screenName, compareAgainst, selector, pageSetupFn, done) {
done(error);
};
+ var pass = function () {
+ if (options['print-logs']) {
+ console.log(getPageLogsString(pageRenderer.pageLogs, " "));
+ }
+
+ done();
+ };
+
if (!testInfo.processed) {
fail("Failed to generate screenshot to " + screenshotFileName + ".");
return;
@@ -121,16 +129,20 @@ function capture(screenName, compareAgainst, selector, pageSetupFn, done) {
var expected = fs.read(expectedScreenshotPath),
processed = fs.read(processedScreenshotPath);
- if (expected != processed) {
- fail("Processed screenshot does not match expected for " + screenshotFileName + ".");
+ if (processed == expected) {
+ pass();
return;
}
- if (options['print-logs']) {
- console.log(getPageLogsString(pageRenderer.pageLogs, " "));
- }
+ // if the files are not exact, perform a diff to check if they are truly different
+ resemble("file://" + processedScreenshotPath).compareTo("file://" + expectedScreenshotPath).onComplete(function(data) {
+ if (data.misMatchPercentage != 0) {
+ fail("Processed screenshot does not match expected for " + screenshotFileName + ".");
+ return;
+ }
- done();
+ pass();
+ });
}, selector);
} catch (ex) {
var err = new Error(ex.message);