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
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(); |
|
}); |
|
|
|
|