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.
110 lines
2.3 KiB
110 lines
2.3 KiB
4 years ago
|
var test = require('tape')
|
||
|
var Codec = require('..')
|
||
|
|
||
|
test('encode key', function (t) {
|
||
|
var codec = new Codec({ keyEncoding: 'hex' })
|
||
|
|
||
|
var buf = codec.encodeKey('686579', {})
|
||
|
t.equal(buf.toString(), 'hey')
|
||
|
|
||
|
buf = codec.encodeKey('686579')
|
||
|
t.equal(buf.toString(), 'hey')
|
||
|
|
||
|
buf = codec.encodeKey('686579', {
|
||
|
keyEncoding: 'binary'
|
||
|
})
|
||
|
t.equal(buf.toString(), '686579')
|
||
|
|
||
|
buf = codec.encodeKey({ foo: 'bar' }, {
|
||
|
keyEncoding: 'none'
|
||
|
})
|
||
|
t.deepEqual(buf, { foo: 'bar' })
|
||
|
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
test('encode value', function (t) {
|
||
|
var codec = new Codec({ valueEncoding: 'hex' })
|
||
|
|
||
|
var buf = codec.encodeValue('686579', {})
|
||
|
t.equal(buf.toString(), 'hey')
|
||
|
|
||
|
buf = codec.encodeValue('686579')
|
||
|
t.equal(buf.toString(), 'hey')
|
||
|
|
||
|
buf = codec.encodeValue('686579', {
|
||
|
valueEncoding: 'binary'
|
||
|
})
|
||
|
t.equal(buf.toString(), '686579')
|
||
|
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
test('decode key', function (t) {
|
||
|
var codec = new Codec({ keyEncoding: 'hex' })
|
||
|
|
||
|
var buf = codec.decodeKey(Buffer.from('hey'), {})
|
||
|
t.equal(buf, '686579')
|
||
|
|
||
|
buf = codec.decodeKey(Buffer.from('hey'))
|
||
|
t.equal(buf, '686579')
|
||
|
|
||
|
buf = codec.decodeKey(Buffer.from('hey'), {
|
||
|
keyEncoding: 'binary'
|
||
|
})
|
||
|
t.equal(buf.toString(), 'hey')
|
||
|
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
test('decode value', function (t) {
|
||
|
var codec = new Codec({ valueEncoding: 'hex' })
|
||
|
|
||
|
var buf = codec.decodeValue(Buffer.from('hey'), {})
|
||
|
t.equal(buf, '686579')
|
||
|
|
||
|
buf = codec.decodeValue(Buffer.from('hey'))
|
||
|
t.equal(buf, '686579')
|
||
|
|
||
|
buf = codec.decodeValue(Buffer.from('hey'), {
|
||
|
valueEncoding: 'binary'
|
||
|
})
|
||
|
t.equal(buf.toString(), 'hey')
|
||
|
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
test('encode value - legacy', function (t) {
|
||
|
var codec = new Codec({ encoding: 'hex' })
|
||
|
|
||
|
var buf = codec.encodeValue('686579', {})
|
||
|
t.equal(buf.toString(), 'hey')
|
||
|
|
||
|
buf = codec.encodeValue('686579')
|
||
|
t.equal(buf.toString(), 'hey')
|
||
|
|
||
|
buf = codec.encodeValue('686579', {
|
||
|
encoding: 'binary'
|
||
|
})
|
||
|
t.equal(buf.toString(), '686579')
|
||
|
|
||
|
t.end()
|
||
|
})
|
||
|
|
||
|
test('decode value - legacy', function (t) {
|
||
|
var codec = new Codec({ encoding: 'hex' })
|
||
|
|
||
|
var buf = codec.decodeValue(Buffer.from('hey'), {})
|
||
|
t.equal(buf, '686579')
|
||
|
|
||
|
buf = codec.decodeValue(Buffer.from('hey'))
|
||
|
t.equal(buf, '686579')
|
||
|
|
||
|
buf = codec.decodeValue(Buffer.from('hey'), {
|
||
|
encoding: 'binary'
|
||
|
})
|
||
|
t.equal(buf.toString(), 'hey')
|
||
|
|
||
|
t.end()
|
||
|
})
|