From 899eab4e5c9b306d785cb5ed7945edcc78c4e1aa Mon Sep 17 00:00:00 2001 From: Philip Allgaier Date: Fri, 23 Apr 2021 09:29:03 +0200 Subject: [PATCH] Ensure 0 does not get formatted to empty string (#8971) --- src/common/string/format_number.ts | 2 +- test-mocha/common/string/format_number.ts | 50 +++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/src/common/string/format_number.ts b/src/common/string/format_number.ts index 0f171bd0ea..da8af2798a 100644 --- a/src/common/string/format_number.ts +++ b/src/common/string/format_number.ts @@ -58,7 +58,7 @@ export const formatNumber = ( ).format(Number(num)); } } - return num ? num.toString() : ""; + return num.toString(); }; /** diff --git a/test-mocha/common/string/format_number.ts b/test-mocha/common/string/format_number.ts index efd1461bc8..903be54cb0 100644 --- a/test-mocha/common/string/format_number.ts +++ b/test-mocha/common/string/format_number.ts @@ -15,6 +15,56 @@ describe("formatNumber", () => { ); }); + it("Test format 'none' (keep dot despite language 'de')", () => { + assert.strictEqual( + formatNumber(1.23, { + language: "de", + number_format: NumberFormat.none, + }), + "1.23" + ); + }); + + it("Ensure zero is kept for format 'language'", () => { + assert.strictEqual( + formatNumber(0, { + language: "en", + number_format: NumberFormat.language, + }), + "0" + ); + }); + + it("Ensure zero is kept for format 'none'", () => { + assert.strictEqual( + formatNumber(0, { + language: "en", + number_format: NumberFormat.none, + }), + "0" + ); + }); + + it("Test empty string input for format 'none'", () => { + assert.strictEqual( + formatNumber("", { + language: "en", + number_format: NumberFormat.none, + }), + "" + ); + }); + + it("Test empty string input for format 'language'", () => { + assert.strictEqual( + formatNumber("", { + language: "en", + number_format: NumberFormat.language, + }), + "0" + ); + }); + it("Formats number with options", () => { assert.strictEqual( formatNumber(