| // Flags: --expose-internals |
| 'use strict'; |
| |
| const common = require('../common'); |
| if (!common.hasCrypto) |
| common.skip('missing crypto'); |
| |
| const assert = require('assert'); |
| |
| const { |
| normalizeAlgorithm, |
| } = require('internal/crypto/util'); |
| |
| { |
| // Check that normalizeAlgorithm does not add an undefined hash property. |
| assert.strictEqual('hash' in normalizeAlgorithm({ name: 'ECDH' }), false); |
| assert.strictEqual('hash' in normalizeAlgorithm('ECDH'), false); |
| } |
| |
| { |
| // Check that normalizeAlgorithm does not mutate object inputs. |
| const algorithm = { name: 'ECDH', hash: 'SHA-256' }; |
| assert.strictEqual(normalizeAlgorithm(algorithm) !== algorithm, true); |
| assert.deepStrictEqual(algorithm, { name: 'ECDH', hash: 'SHA-256' }); |
| } |