From 1583c7ee8e53f682e71dd20d53fa2e41b35c4aeb Mon Sep 17 00:00:00 2001 From: ZauberNerd Date: Tue, 6 Nov 2018 16:40:53 +0100 Subject: [PATCH] test: add whatwg-encoding TextDecoder custom inspection with showHidden These tests ensure hidden fields are shown when inspecting with `showHidden` and that passing negative `depth` prints simplified value. Co-authored-by: Robin Drexler PR-URL: https://github.com/nodejs/node/pull/24166 Reviewed-By: Anna Henningsen Reviewed-By: Colin Ihrig Reviewed-By: Ruben Bridgewater Reviewed-By: Daijiro Wachi Reviewed-By: James M Snell --- .../test-whatwg-encoding-textdecoder.js | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/test/parallel/test-whatwg-encoding-textdecoder.js b/test/parallel/test-whatwg-encoding-textdecoder.js index 6d1db2ec33faad..0a812504f6179e 100644 --- a/test/parallel/test-whatwg-encoding-textdecoder.js +++ b/test/parallel/test-whatwg-encoding-textdecoder.js @@ -5,6 +5,7 @@ const common = require('../common'); const assert = require('assert'); const { customInspectSymbol: inspect } = require('internal/util'); +const util = require('util'); const buf = Buffer.from([0xef, 0xbb, 0xbf, 0x74, 0x65, 0x73, 0x74, 0xe2, 0x82, 0xac]); @@ -97,6 +98,42 @@ if (common.hasIntl) { assert.strictEqual(res, 'test€'); } +// Test TextDecoder inspect with hidden fields +{ + const dec = new TextDecoder('utf-8', { ignoreBOM: true }); + if (common.hasIntl) { + assert.strictEqual( + util.inspect(dec, { showHidden: true }), + 'TextDecoder {\n encoding: \'utf-8\',\n fatal: false,\n ' + + 'ignoreBOM: true,\n [Symbol(flags)]: 4,\n [Symbol(handle)]: {} }' + ); + } else { + assert.strictEqual( + util.inspect(dec, { showHidden: true }), + 'TextDecoder {\n encoding: \'utf-8\',\n fatal: false,\n ' + + 'ignoreBOM: true,\n [Symbol(flags)]: 4,\n [Symbol(handle)]:\n ' + + 'StringDecoder {\n encoding: \'utf8\',\n ' + + '[Symbol(kNativeDecoder)]: } }' + ); + } +} + + +// Test TextDecoder inspect without hidden fields +{ + const dec = new TextDecoder('utf-8', { ignoreBOM: true }); + assert.strictEqual( + util.inspect(dec, { showHidden: false }), + 'TextDecoder { encoding: \'utf-8\', fatal: false, ignoreBOM: true }' + ); +} + +// Test TextDecoder inspect with negative depth +{ + const dec = new TextDecoder(); + assert.strictEqual(util.inspect(dec, { depth: -1 }), '[Object]'); +} + { const inspectFn = TextDecoder.prototype[inspect]; const decodeFn = TextDecoder.prototype.decode;