From 78b41da8fa28eb7db3ab4c94b22df468f545fd9b Mon Sep 17 00:00:00 2001 From: David Cai Date: Fri, 5 May 2017 22:26:19 +0800 Subject: [PATCH] buffer: fix isEncoding result for empty string --- lib/buffer.js | 1 + test/parallel/test-buffer-isencoding.js | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/buffer.js b/lib/buffer.js index c30cbc2d8509a8..b735277357d9da 100644 --- a/lib/buffer.js +++ b/lib/buffer.js @@ -375,6 +375,7 @@ Buffer.compare = function compare(a, b) { Buffer.isEncoding = function(encoding) { return typeof encoding === 'string' && + encoding.length > 0 && typeof internalUtil.normalizeEncoding(encoding) === 'string'; }; Buffer[internalUtil.kIsEncodingSymbol] = Buffer.isEncoding; diff --git a/test/parallel/test-buffer-isencoding.js b/test/parallel/test-buffer-isencoding.js index 4ed380aae1ce69..72fdd7d4473ede 100644 --- a/test/parallel/test-buffer-isencoding.js +++ b/test/parallel/test-buffer-isencoding.js @@ -17,10 +17,13 @@ const assert = require('assert'); assert.strictEqual(Buffer.isEncoding(enc), true); }); -[ 'utf9', +[ '', + 'utf9', 'utf-7', 'Unicode-FTW', 'new gnu gun', + undefined, + null, false, NaN, {},