From 3a23e7017690fe9d411ed1157334c98ad91f2fd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20M=2E=20G=C3=B3mez?= Date: Mon, 30 Mar 2020 17:39:17 -0500 Subject: [PATCH 1/2] test: New test to validate util.format when the value is 'Infinity' --- test/parallel/test-util-format.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/parallel/test-util-format.js b/test/parallel/test-util-format.js index 0599fda1d63456..6c9cf6dbc2013c 100644 --- a/test/parallel/test-util-format.js +++ b/test/parallel/test-util-format.js @@ -57,6 +57,7 @@ assert.strictEqual(util.format('%d', -0.0), '-0'); assert.strictEqual(util.format('%d', ''), '0'); assert.strictEqual(util.format('%d', ' -0.000'), '-0'); assert.strictEqual(util.format('%d', Symbol()), 'NaN'); +assert.strictEqual(util.format('%d', Infinity), 'Infinity'); assert.strictEqual(util.format('%d %d', 42, 43), '42 43'); assert.strictEqual(util.format('%d %d', 42), '42 %d'); assert.strictEqual( @@ -81,6 +82,7 @@ assert.strictEqual(util.format('%i', '42.0'), '42'); assert.strictEqual(util.format('%i', 1.5), '1'); assert.strictEqual(util.format('%i', -0.5), '-0'); assert.strictEqual(util.format('%i', ''), 'NaN'); +assert.strictEqual(util.format('%i', Infinity), 'NaN'); assert.strictEqual(util.format('%i', Symbol()), 'NaN'); assert.strictEqual(util.format('%i %i', 42, 43), '42 43'); assert.strictEqual(util.format('%i %i', 42), '42 %i'); @@ -120,6 +122,7 @@ assert.strictEqual(util.format('%f', Math.PI), '3.141592653589793'); assert.strictEqual(util.format('%f', ''), 'NaN'); assert.strictEqual(util.format('%f', Symbol('foo')), 'NaN'); assert.strictEqual(util.format('%f', 5n), '5'); +assert.strictEqual(util.format('%f', Infinity), 'Infinity'); assert.strictEqual(util.format('%f %f', 42, 43), '42 43'); assert.strictEqual(util.format('%f %f', 42), '42 %f'); @@ -141,6 +144,7 @@ assert.strictEqual(util.format('%s', { a: [1, 2, 3] }), '{ a: [Array] }'); assert.strictEqual(util.format('%s', { toString() { return 'Foo'; } }), 'Foo'); assert.strictEqual(util.format('%s', { toString: 5 }), '{ toString: 5 }'); assert.strictEqual(util.format('%s', () => 5), '() => 5'); +assert.strictEqual(util.format('%s', Infinity), 'Infinity'); // String format specifier including `toString` properties on the prototype. { From 3123ddb89c8a38a93fcfc4b563772a086ec3d274 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Mauricio=20G=C3=B3mez=20P?= Date: Mon, 30 Mar 2020 18:38:14 -0500 Subject: [PATCH 2/2] test: Apply suggestions from code review, now it is using negative values Co-Authored-By: James M Snell --- test/parallel/test-util-format.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/parallel/test-util-format.js b/test/parallel/test-util-format.js index 6c9cf6dbc2013c..6de9d8d7c74c80 100644 --- a/test/parallel/test-util-format.js +++ b/test/parallel/test-util-format.js @@ -58,6 +58,7 @@ assert.strictEqual(util.format('%d', ''), '0'); assert.strictEqual(util.format('%d', ' -0.000'), '-0'); assert.strictEqual(util.format('%d', Symbol()), 'NaN'); assert.strictEqual(util.format('%d', Infinity), 'Infinity'); +assert.strictEqual(util.format('%d', -Infinity), '-Infinity'); assert.strictEqual(util.format('%d %d', 42, 43), '42 43'); assert.strictEqual(util.format('%d %d', 42), '42 %d'); assert.strictEqual( @@ -83,6 +84,7 @@ assert.strictEqual(util.format('%i', 1.5), '1'); assert.strictEqual(util.format('%i', -0.5), '-0'); assert.strictEqual(util.format('%i', ''), 'NaN'); assert.strictEqual(util.format('%i', Infinity), 'NaN'); +assert.strictEqual(util.format('%i', -Infinity), 'NaN'); assert.strictEqual(util.format('%i', Symbol()), 'NaN'); assert.strictEqual(util.format('%i %i', 42, 43), '42 43'); assert.strictEqual(util.format('%i %i', 42), '42 %i'); @@ -123,6 +125,7 @@ assert.strictEqual(util.format('%f', ''), 'NaN'); assert.strictEqual(util.format('%f', Symbol('foo')), 'NaN'); assert.strictEqual(util.format('%f', 5n), '5'); assert.strictEqual(util.format('%f', Infinity), 'Infinity'); +assert.strictEqual(util.format('%f', -Infinity), '-Infinity'); assert.strictEqual(util.format('%f %f', 42, 43), '42 43'); assert.strictEqual(util.format('%f %f', 42), '42 %f'); @@ -145,6 +148,7 @@ assert.strictEqual(util.format('%s', { toString() { return 'Foo'; } }), 'Foo'); assert.strictEqual(util.format('%s', { toString: 5 }), '{ toString: 5 }'); assert.strictEqual(util.format('%s', () => 5), '() => 5'); assert.strictEqual(util.format('%s', Infinity), 'Infinity'); +assert.strictEqual(util.format('%s', -Infinity), '-Infinity'); // String format specifier including `toString` properties on the prototype. {