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.
55 lines
1.4 KiB
55 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()
|
|
})
|