| 'use strict'; |
| const common = require('../common'); |
| if (!common.hasCrypto) |
| common.skip('missing crypto'); |
| |
| // This test checks if error is thrown in case of wrong encoding provided into cipher. |
| |
| const assert = require('assert'); |
| const { createCipheriv, randomBytes } = require('crypto'); |
| |
| const createCipher = () => { |
| return createCipheriv('aes-256-cbc', randomBytes(32), randomBytes(16)); |
| }; |
| |
| { |
| const cipher = createCipher(); |
| cipher.update('test', 'utf-8', 'utf-8'); |
| |
| assert.throws( |
| () => cipher.update('666f6f', 'hex', 'hex'), |
| { message: /Cannot change encoding/ } |
| ); |
| } |
| |
| { |
| const cipher = createCipher(); |
| cipher.update('test', 'utf-8', 'utf-8'); |
| |
| assert.throws( |
| () => cipher.final('hex'), |
| { message: /Cannot change encoding/ } |
| ); |
| } |
| |
| { |
| const cipher = createCipher(); |
| cipher.update('test', 'utf-8', 'utf-8'); |
| |
| assert.throws( |
| () => cipher.final('bad2'), |
| { message: /^Unknown encoding: bad2$/, code: 'ERR_UNKNOWN_ENCODING' } |
| ); |
| } |
| |
| { |
| const cipher = createCipher(); |
| |
| assert.throws( |
| () => cipher.update('test', 'utf-8', 'bad3'), |
| { message: /^Unknown encoding: bad3$/, code: 'ERR_UNKNOWN_ENCODING' } |
| ); |
| } |