Parse floating-point value from percentages (#1733)

* Parse floating-point value from percentages

* Add tests for resize module

* Add options' test for resize module

Co-authored-by: Aditya Zope <zope@Adityas-MacBook-Pro.local>
Co-authored-by: Harsh Khandeparkar <34770591+HarshKhandeparkar@users.noreply.github.com>
This commit is contained in:
Aditya Zope
2020-11-02 10:38:36 +05:30
committed by GitHub
parent 0622a0c21a
commit 893bc108e0
2 changed files with 20 additions and 3 deletions

View File

@@ -2,7 +2,7 @@ const imagejs = require('imagejs'),
pixelSetter = require('../../util/pixelSetter'), pixelSetter = require('../../util/pixelSetter'),
ndarray = require('ndarray'); ndarray = require('ndarray');
module.exports = function Resize(pixels, options) { module.exports = function Resize(pixels, options) {
const resize_value = parseInt(options.resize.slice(0, -1)); const resize_value = parseFloat(options.resize);
if (resize_value == 100) return pixels; if (resize_value == 100) return pixels;

View File

@@ -1,4 +1,21 @@
const testModule = require('../templates/module-test'), const testModule = require('../templates/module-test'),
benchmark = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAAklEQVR4AewaftIAAAAzSURBVLXBAQEAMAiAME7/zN4Ssr2BzzEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhJYclMCJyy7k2QAAAAASUVORK5CYII='; benchmark = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAAVCAYAAACpF6WWAAAAAklEQVR4AewaftIAAAAzSURBVLXBAQEAMAiAME7/zN4Ssr2BzzEJSEACEpCABCQgAQlIQAISkIAEJCABCUhAAhJYclMCJyy7k2QAAAAASUVORK5CYII=',
testModule('resize', {resize: '129%'}, benchmark); benchmark1 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALCAYAAACprHcmAAAAAklEQVR4AewaftIAAAAkSURBVJXBAQEAMAiAME7/zN4Ksr2Bz5EEEkgggQQSSCCBBBIs6poCE8Zr7KAAAAAASUVORK5CYII=',
benchmark2 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAklEQVR4AewaftIAAAAiSURBVI3BAQEAAAiAIPP/5uqCMAtHIJFEEkkkkUQSSSTRAzwDAhGkYPRhAAAAAElFTkSuQmCC',
benchmark3 = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAAklEQVR4AewaftIAAAAdSURBVHXBAQEAMAiAME7/zN4Csr2Bz0GCBAkSJCwpbQIJAvmJUgAAAABJRU5ErkJggg==',
options1 = {
resize: '70.85%'
},
options2 = {
resize: '60 %'
},
options3 = {
resize: '40'
};
testModule('resize', {resize: '129%'}, benchmark);
require('../templates/options-test')('resize', [options1, options2, options3], [benchmark1, benchmark2, benchmark3]);