var assert = require('assert'); var fs = require('fs'); module.exports = function (gm, dir, finish, GM) { // Same image GM.compare(dir + '/original.jpg', dir + '/original.png', function(err, same) { if (err) return finish(err); if (!same) return finish(new Error('Compare should be the same!')); // Compare almost similar images for which ImageMagick // returns a exponent-style floating point number gm.compare(__dirname + '/fixtures/compare_1.png', __dirname + '/fixtures/compare_2.png', function(err, same, diff) { if (err) return finish(err); // Create a new noisy image gm.noise(0.3).write(dir + '/noise3.png', function (err) { if (err) return finish(err); if (!same) return finish(new Error('Compare should be the same!')); var options = { highlightColor: '#fff', highlightStyle: 'XOR', file: dir + '/diff.png', tolerance: 0.001 }; // Compare these images and write to a file. GM.compare(dir + '/original.jpg', dir + '/noise3.png', options, function(err) { if (err) return finish(err); fs.exists(options.file, function(exists) { if (exists) { fs.unlink(options.file, finish); } else finish(new Error('Diff file does not exist.')); }); }); }); }); }); };