mirror of
https://github.com/nodejs/node.git
synced 2025-05-10 17:57:53 +00:00

PR-URL: https://github.com/nodejs/node/pull/22089 Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Yihong Wang <yh.wang@ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
53 lines
1.2 KiB
JavaScript
53 lines
1.2 KiB
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
|
|
if (!common.hasCrypto)
|
|
common.skip('missing crypto');
|
|
if (common.hasFipsCrypto)
|
|
common.skip('crypto.createCipher() is not supported in FIPS mode');
|
|
|
|
const crypto = require('crypto');
|
|
const key = '0123456789';
|
|
|
|
{
|
|
common.expectWarning({
|
|
DeprecationWarning: [
|
|
['crypto.createCipher is deprecated.', 'DEP0106']
|
|
],
|
|
Warning: [
|
|
['Use Cipheriv for counter mode of aes-256-gcm', common.noWarnCode]
|
|
]
|
|
});
|
|
|
|
// Emits regular warning expected by expectWarning()
|
|
crypto.createCipher('aes-256-gcm', key);
|
|
}
|
|
|
|
const realEmitWarning = process.emitWarning;
|
|
|
|
{
|
|
// It's a good idea to make this overridable from userland.
|
|
process.emitWarning = () => { throw new Error('foo'); };
|
|
assert.throws(() => {
|
|
crypto.createCipher('aes-256-gcm', key);
|
|
}, /^Error: foo$/);
|
|
}
|
|
|
|
{
|
|
Object.defineProperty(process, 'emitWarning', {
|
|
get() { throw new Error('bar'); },
|
|
configurable: true
|
|
});
|
|
assert.throws(() => {
|
|
crypto.createCipher('aes-256-gcm', key);
|
|
}, /^Error: bar$/);
|
|
}
|
|
|
|
// Reset back to default after the test.
|
|
Object.defineProperty(process, 'emitWarning', {
|
|
value: realEmitWarning,
|
|
configurable: true,
|
|
writable: true
|
|
});
|