diff --git a/lib/compare.js b/lib/compare.js index 35c8d51..bb1151c 100644 --- a/lib/compare.js +++ b/lib/compare.js @@ -21,9 +21,14 @@ module.exports = exports = function (proto) { function compare(orig, compareTo, options, cb) { var isImageMagick = this._options && this._options.imageMagick; - // compare binary for IM is `compare`, for GM it's `gm compare` - var bin = isImageMagick ? '' : 'gm '; - var args = ['compare', '-metric', 'mse', orig, compareTo] + var appPath = this._options && this._options.appPath || ''; + var bin = isImageMagick + ? appPath + 'compare' + : appPath + 'gm' + var args = ['-metric', 'mse', orig, compareTo] + if (!isImageMagick) { + args.unshift('compare'); + } var tolerance = 0.4; // outputting the diff image if (typeof options === 'object') { @@ -46,7 +51,7 @@ module.exports = exports = function (proto) { args.push(options.highlightStyle) } // For IM, filename is the last argument. For GM it's `-file ` - if (isImageMagick) { + if (!isImageMagick) { args.push('-file'); } args.push(options.file); @@ -71,7 +76,7 @@ module.exports = exports = function (proto) { } } - var proc = spawn('/usr/bin/gm', args); + var proc = spawn(bin, args); var stdout = ''; var stderr = ''; proc.stdout.on('data',function(data) { stdout+=data }); diff --git a/test/422.js b/test/422.js index 1f0d29e..583d969 100644 --- a/test/422.js +++ b/test/422.js @@ -29,11 +29,13 @@ module.exports = function (gm, dir, finish, GM) { if (err) return finish(err); fs.exists(options.file, function(exists) { - if (exists) finish(); + if (exists) { + fs.unlink(options.file, finish); + } else finish(new Error('Diff file does not exist.')); }); }); }); }); }); -}; \ No newline at end of file +};