From 894deeb97b8131f028d41e67d97b5f96b8114be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Golder?= Date: Fri, 11 May 2018 15:07:21 +0200 Subject: [PATCH] fix(allowEmpty): return empty string also when value is empty string --- src/__tests__/createNumberMask.test.js | 10 ++++++++++ src/createNumberMask.js | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/__tests__/createNumberMask.test.js b/src/__tests__/createNumberMask.test.js index ab05116..5d1db7a 100644 --- a/src/__tests__/createNumberMask.test.js +++ b/src/__tests__/createNumberMask.test.js @@ -139,6 +139,16 @@ describe('Number mask', () => { expect(mask.format()).toBe(''); }); + it('should be formatting as empty string when the value on the store is empty string and allowEmpty is true', () => { + const mask = createNumberMask({ + prefix: 'p', + suffix: 's', + allowEmpty: true, + }); + + expect(mask.format('')).toBe(''); + }); + it('should update the stored value correctly', () => { const prefix = 'prefix 1@,.'; const suffix = '1@,. suffix'; diff --git a/src/createNumberMask.js b/src/createNumberMask.js index 87bb7f8..1206545 100644 --- a/src/createNumberMask.js +++ b/src/createNumberMask.js @@ -23,7 +23,7 @@ export default options => { const format = storeValue => { let number = storeValue; - if (number === undefined) { + if (number === undefined || number === '') { if (allowEmpty) { return ''; }