From f4faac228c3d7351164708a72f6d22c9c636075b Mon Sep 17 00:00:00 2001 From: Pavel Dranichnikov Date: Mon, 22 Nov 2021 14:50:58 +0300 Subject: [PATCH] Fix NaN being printed out as `-NaN` --- src/sprintf.js | 2 +- test/test.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sprintf.js b/src/sprintf.js index 65d6324..03017dd 100644 --- a/src/sprintf.js +++ b/src/sprintf.js @@ -63,7 +63,7 @@ } if (re.number.test(ph.type)) { - is_positive = arg >= 0 + is_positive = arg >= 0 || isNaN(arg) } switch (ph.type) { diff --git a/test/test.js b/test/test.js index 9588da6..df236ab 100644 --- a/test/test.js +++ b/test/test.js @@ -41,6 +41,7 @@ describe('sprintfjs', function() { assert.equal('f', sprintf('%.1t', false)) assert.equal('false', sprintf('%t', '')) assert.equal('false', sprintf('%t', 0)) + assert.equal('NaN', sprintf('%f', NaN)) assert.equal('undefined', sprintf('%T', undefined)) assert.equal('null', sprintf('%T', null))