Skip to content
Permalink
Browse files

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 <drexler.robin@gmail.com>
PR-URL: #24166
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information...
2 people authored and rvagg committed Nov 6, 2018
1 parent 6d147ef commit 8f18f0d5bd418052e2d44aecaaca20d7b7e8fad7
Showing with 37 additions and 0 deletions.
  1. +37 −0 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)]: <Buffer 00 00 00 00 00 00 01> } }'
);
}
}


// 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;

0 comments on commit 8f18f0d

Please sign in to comment.
You can’t perform that action at this time.