diff --git a/lib/SizeFormatHelpers.js b/lib/SizeFormatHelpers.js index 85bbd2c02..c4677f60b 100644 --- a/lib/SizeFormatHelpers.js +++ b/lib/SizeFormatHelpers.js @@ -7,6 +7,10 @@ const SizeFormatHelpers = exports; SizeFormatHelpers.formatSize = size => { + if (typeof size !== "number" || Number.isNaN(size) === true) { + return "unknown size"; + } + if (size <= 0) { return "0 bytes"; } diff --git a/test/SizeFormatHelpers.unittest.js b/test/SizeFormatHelpers.unittest.js index 7d3f8c842..d641ee342 100644 --- a/test/SizeFormatHelpers.unittest.js +++ b/test/SizeFormatHelpers.unittest.js @@ -43,5 +43,10 @@ describe("SizeFormatHelpers", () => { "1.2 GiB" ); }); + + it("should handle undefined/NaN", () => { + should(SizeFormatHelpers.formatSize(undefined)).be.eql("unknown size"); + should(SizeFormatHelpers.formatSize(NaN)).be.eql("unknown size"); + }); }); });