You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-04 15:02:09 +03:00
* fix #1846 - handle arguments that are not buffers or strings * use toString() instead of throw TypeError * remove .only and uncomment tests
This commit is contained in:
@@ -2,42 +2,34 @@ import { strict as assert } from 'assert';
|
||||
import { describe } from 'mocha';
|
||||
import { encodeCommand } from './commander';
|
||||
|
||||
function encodeCommandToString(...args: Parameters<typeof encodeCommand>): string {
|
||||
const arr = [];
|
||||
for (const item of encodeCommand(...args)) {
|
||||
arr.push(item.toString());
|
||||
}
|
||||
|
||||
return arr.join('');
|
||||
}
|
||||
|
||||
describe('Commander', () => {
|
||||
describe('encodeCommand (see #1628)', () => {
|
||||
it('1 byte', () => {
|
||||
assert.equal(
|
||||
encodeCommandToString(['a', 'z']),
|
||||
'*2\r\n$1\r\na\r\n$1\r\nz\r\n'
|
||||
assert.deepEqual(
|
||||
[...encodeCommand(['a', 'z'])],
|
||||
['*2\r\n$1\r\na\r\n$1\r\nz\r\n']
|
||||
);
|
||||
});
|
||||
|
||||
it('2 bytes', () => {
|
||||
assert.equal(
|
||||
encodeCommandToString(['א', 'ת']),
|
||||
'*2\r\n$2\r\nא\r\n$2\r\nת\r\n'
|
||||
assert.deepEqual(
|
||||
[...encodeCommand(['א', 'ת'])],
|
||||
['*2\r\n$2\r\nא\r\n$2\r\nת\r\n']
|
||||
);
|
||||
});
|
||||
|
||||
it('4 bytes', () => {
|
||||
assert.equal(
|
||||
encodeCommandToString(['🐣', '🐤']),
|
||||
'*2\r\n$4\r\n🐣\r\n$4\r\n🐤\r\n'
|
||||
assert.deepEqual(
|
||||
[...encodeCommand(['🐣', '🐤'])],
|
||||
['*2\r\n$4\r\n🐣\r\n$4\r\n🐤\r\n']
|
||||
);
|
||||
});
|
||||
|
||||
it('with a buffer', () => {
|
||||
assert.equal(
|
||||
encodeCommandToString([Buffer.from('string')]),
|
||||
'*1\r\n$6\r\nstring\r\n'
|
||||
assert.deepEqual(
|
||||
[...encodeCommand([Buffer.from('string')])],
|
||||
['*1\r\n$6\r\n', Buffer.from('string'), '\r\n']
|
||||
);
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user