You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.4 KiB

var test = require('tape');
var Codec = require('..');
test('batch', function(t){
var codec = new Codec({});
var ops = [
{ type: 'put', key: 'string', value: 'string', valueEncoding: 'utf8' },
{ type: 'put', key: 'json', value: {} }
];
var opsSerialized = JSON.stringify(ops);
var encoded = codec.encodeBatch(ops, { valueEncoding: 'json' });
t.equal(opsSerialized, JSON.stringify(ops), 'ops not changed');
t.deepEqual(encoded, [
{ type: 'put', key: 'string', value: 'string' },
{ type: 'put', key: 'json', value: '{}' }
]);
encoded = codec.encodeBatch(ops);
t.deepEqual(encoded, [
{ type: 'put', key: 'string', value: 'string' },
{ type: 'put', key: 'json', value: {} }
]);
t.end();
});
test('batch - legacy', function(t){
var codec = new Codec({});
var ops = [
{ type: 'put', key: 'string', value: 'string', encoding: 'utf8' },
{ type: 'put', key: 'json', value: {} }
];
var opsSerialized = JSON.stringify(ops);
var encoded = codec.encodeBatch(ops, { encoding: 'json' });
t.equal(opsSerialized, JSON.stringify(ops), 'ops not changed');
t.deepEqual(encoded, [
{ type: 'put', key: 'string', value: 'string' },
{ type: 'put', key: 'json', value: '{}' }
]);
encoded = codec.encodeBatch(ops);
t.deepEqual(encoded, [
{ type: 'put', key: 'string', value: 'string' },
{ type: 'put', key: 'json', value: {} }
]);
t.end();
});