console: .table fall back to logging for function too

According to the console.table documentation, it reads that it "falls
back to just logging the argument if it can’t be parsed as tabular."

But it doesn't fall back when I give a function as its first argument.
It logs an empty table. This is fixes by this commit.

PR-URL: https://github.com/nodejs/node/pull/20681
Fixes: https://github.com/nodejs/node/issues/20679
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
This commit is contained in:
ohbarye 2018-05-12 02:26:28 +09:00 committed by Ruben Bridgewater
parent 60cc8ff096
commit 0c852a1795
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762
2 changed files with 2 additions and 2 deletions

View File

@ -327,8 +327,7 @@ Console.prototype.table = function(tabularData, properties) {
if (properties !== undefined && !ArrayIsArray(properties))
throw new ERR_INVALID_ARG_TYPE('properties', 'Array', properties);
if (tabularData == null ||
(typeof tabularData !== 'object' && typeof tabularData !== 'function'))
if (tabularData == null || typeof tabularData !== 'object')
return this.log(tabularData);
if (cliTable === undefined) cliTable = require('internal/cli_table');

View File

@ -29,6 +29,7 @@ test(undefined, 'undefined\n');
test(false, 'false\n');
test('hi', 'hi\n');
test(Symbol(), 'Symbol()\n');
test(function() {}, '[Function]\n');
test([1, 2, 3], `