Skip to content

Commit

Permalink
Validate crop config value to avoid runtime error
Browse files Browse the repository at this point in the history
  • Loading branch information
ysugimoto committed Apr 4, 2018
1 parent 0302226 commit df9865d
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions bin/configtest
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,7 @@ var reset = '\u001b[0m';
validateSize(stdout, resize.size);
validateFormat(stdout, resize.format);
validateQuality(stdout, resize.quality);
validateCrop(stdout, resize.crop);
validateOptimizer(stdout, resize.jpegOptimizer || jpegOptimizer);
validateDestination(stdout, bucket, resize.bucket, resize.directory, resize.template);
validatePrefixAndSuffix(stdout, resize.prefix, resize.suffix);
Expand Down Expand Up @@ -234,4 +235,17 @@ var reset = '\u001b[0m';
stdout.write("\r\n");
}

function validateCrop(stdout, cropOption) {
if ( ! cropOption ) {
return;
}
const cropSpec = /(\d+)x(\d+)([+-]\d+)?([+-]\d+)?(%)?/;
if ( ! cropSpec.test(cropOption) ) {
fatals.push("Resize crop option is invalid for expected spec: " + cropOption);
}
stdout.write(magenta + " Crop: " + reset);
stdout.write(cropOption);
stdout.write("\r\n");
}

})();

0 comments on commit df9865d

Please sign in to comment.