mirror of
https://github.com/nodejs/node.git
synced 2024-11-29 23:16:30 +01:00
8fb4ea9f75
This commit adds a deprecation code to expectWarning and updates the function to check the passed code against the code property on the warning object. Not all warnings have a deprecation code so for those that don't an explicit code of common.noWarnCode is required. Passing this skips the assertion of the code. PR-URL: https://github.com/nodejs/node/pull/19474 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
68 lines
1.8 KiB
JavaScript
68 lines
1.8 KiB
JavaScript
/* eslint-disable no-proto */
|
|
'use strict';
|
|
|
|
const common = require('../common');
|
|
if (!common.hasCrypto)
|
|
common.skip('missing crypto');
|
|
|
|
const assert = require('assert');
|
|
// Flags: --expose_internals
|
|
const internalTLS = require('internal/tls');
|
|
const tls = require('tls');
|
|
|
|
const noOutput = common.mustNotCall();
|
|
common.hijackStderr(noOutput);
|
|
|
|
{
|
|
const singles = 'C=US\nST=CA\nL=SF\nO=Node.js Foundation\nOU=Node.js\n' +
|
|
'CN=ca1\nemailAddress=ry@clouds.org';
|
|
const singlesOut = internalTLS.parseCertString(singles);
|
|
assert.deepStrictEqual(singlesOut, {
|
|
__proto__: null,
|
|
C: 'US',
|
|
ST: 'CA',
|
|
L: 'SF',
|
|
O: 'Node.js Foundation',
|
|
OU: 'Node.js',
|
|
CN: 'ca1',
|
|
emailAddress: 'ry@clouds.org'
|
|
});
|
|
}
|
|
|
|
{
|
|
const doubles = 'OU=Domain Control Validated\nOU=PositiveSSL Wildcard\n' +
|
|
'CN=*.nodejs.org';
|
|
const doublesOut = internalTLS.parseCertString(doubles);
|
|
assert.deepStrictEqual(doublesOut, {
|
|
__proto__: null,
|
|
OU: [ 'Domain Control Validated', 'PositiveSSL Wildcard' ],
|
|
CN: '*.nodejs.org'
|
|
});
|
|
}
|
|
|
|
{
|
|
const invalid = 'fhqwhgads';
|
|
const invalidOut = internalTLS.parseCertString(invalid);
|
|
assert.deepStrictEqual(invalidOut, { __proto__: null });
|
|
}
|
|
|
|
{
|
|
const input = '__proto__=mostly harmless\nhasOwnProperty=not a function';
|
|
const expected = Object.create(null);
|
|
expected.__proto__ = 'mostly harmless';
|
|
expected.hasOwnProperty = 'not a function';
|
|
assert.deepStrictEqual(internalTLS.parseCertString(input), expected);
|
|
}
|
|
|
|
common.restoreStderr();
|
|
|
|
{
|
|
common.expectWarning('DeprecationWarning',
|
|
'tls.parseCertString() is deprecated. ' +
|
|
'Please use querystring.parse() instead.',
|
|
'DEP0076');
|
|
|
|
const ret = tls.parseCertString('foo=bar');
|
|
assert.deepStrictEqual(ret, { __proto__: null, foo: 'bar' });
|
|
}
|