1 | #!/usr/bin/env node
|
2 | // Load in our dependencies
|
3 | var program = require('commander');
|
4 | var pkg = require('../package.json');
|
5 | var imageDiff = require('../');
|
6 |
|
7 | // Configure our CLI
|
8 | program.name = pkg.name;
|
9 | program
|
10 | .version(pkg.version)
|
11 | .usage('[options] <actual-image> <expected-image> [diff-image]')
|
12 | .option('--shadow', 'Draw a shadow of unchanges parts on diff image')
|
13 | .action(function handleRun (actualImage, expectedImage, diffImage, program) {
|
14 | // If there is no program, then assume diffImage was left out
|
15 | if (program === undefined) {
|
16 | program = diffImage;
|
17 | diffImage = undefined;
|
18 | }
|
19 |
|
20 | // Run our diff
|
21 | imageDiff({
|
22 | actualImage: actualImage,
|
23 | diffImage: diffImage,
|
24 | expectedImage: expectedImage,
|
25 | shadow: program.shadow
|
26 | }, function handleImageDiff (err, imagesAreSame) {
|
27 | // If there was an error, throw it
|
28 | if (err) {
|
29 | throw err;
|
30 | }
|
31 |
|
32 | // Otherwise, exit based on the result
|
33 | var exitCode = imagesAreSame ? 0 : 1;
|
34 | process.exit(exitCode);
|
35 | });
|
36 | });
|
37 |
|
38 | // Parse our CLI arguments
|
39 | program.parse(process.argv);
|