From 96f7325ec1ce1972cba9c7d2e6fdf57111b6766f Mon Sep 17 00:00:00 2001 From: Antony Lau Date: Wed, 25 Jan 2023 12:55:34 +0000 Subject: [PATCH] Fix INT for empty string input (#146) --- package-lock.json | 4 ++-- src/utils/common.js | 4 ++-- test/math-trig.js | 2 ++ test/utils/common.js | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 770375f..af30b44 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@formulajs/formulajs", - "version": "4.0.0", + "version": "4.1.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@formulajs/formulajs", - "version": "4.0.0", + "version": "4.1.0", "license": "MIT", "dependencies": { "bessel": "^1.0.2", diff --git a/src/utils/common.js b/src/utils/common.js index 477171f..8f1409e 100644 --- a/src/utils/common.js +++ b/src/utils/common.js @@ -353,7 +353,7 @@ export function parseNumber(string) { return string } - if (string === undefined || string === null || string === '') { + if (string === undefined || string === null) { return 0 } @@ -361,7 +361,7 @@ export function parseNumber(string) { string = +string } - if (!isNaN(string)) { + if (!isNaN(string) && string !== '') { return parseFloat(string) } diff --git a/test/math-trig.js b/test/math-trig.js index 3ec574a..d0d8256 100644 --- a/test/math-trig.js +++ b/test/math-trig.js @@ -372,6 +372,8 @@ describe('Math & Trig', () => { expect(mathTrig.INT(error.na)).to.equal(error.na) expect(mathTrig.INT(5.5)).to.equal(5) expect(mathTrig.INT('invalid')).to.equal(error.value) + expect(mathTrig.INT('')).to.equal(error.value) + expect(mathTrig.INT(true)).to.equal(1) }) it('ISO.CEILING', () => { diff --git a/test/utils/common.js b/test/utils/common.js index 8c44821..f397a20 100644 --- a/test/utils/common.js +++ b/test/utils/common.js @@ -332,7 +332,7 @@ describe('Utils => Common', () => { it('parseNumber', () => { expect(utils.parseNumber()).to.equal(0) expect(utils.parseNumber(null)).to.equal(0) - expect(utils.parseNumber('')).to.equal(0) + expect(utils.parseNumber('')).to.equal(error.value) expect(utils.parseNumber(2)).to.equal(2) expect(utils.parseNumber(error.na)).to.equal(error.na) expect(utils.parseNumber('text')).to.equal(error.value) @@ -340,7 +340,7 @@ describe('Utils => Common', () => { it('parseNumberArray', () => { expect(utils.parseNumberArray()).to.equal(error.value) - expect(utils.parseNumberArray([2, 0, '', null, undefined])).to.eql([2, 0, 0, 0, 0]) + expect(utils.parseNumberArray([2, 0, '', null, undefined])).to.eql(error.value) expect(utils.parseNumberArray([2, 'a', 1, error.na])).to.equal(error.na) expect(utils.parseNumberArray([2, 'a', 1])).to.equal(error.value) })