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.
70 lines
1.5 KiB
70 lines
1.5 KiB
var test = require('tape'); |
|
var Codec = require('..'); |
|
|
|
test('createStreamDecoder', function(t){ |
|
var codec = new Codec({ keyEncoding: 'hex' }); |
|
|
|
t.test('keys and values', function(t){ |
|
var decoder = codec.createStreamDecoder({ |
|
valueEncoding: 'json', |
|
keys: true, |
|
values: true |
|
}); |
|
t.deepEqual(decoder(new Buffer('hey'), '"you"'), { |
|
key: '686579', |
|
value: 'you' |
|
}); |
|
t.end(); |
|
}); |
|
|
|
t.test('keys', function(t){ |
|
var decoder = codec.createStreamDecoder({ |
|
keys: true |
|
}); |
|
t.equal(decoder(new Buffer('hey')), '686579'); |
|
t.end(); |
|
}); |
|
|
|
t.test('values', function(t){ |
|
var decoder = codec.createStreamDecoder({ |
|
valueEncoding: 'hex', |
|
values: true |
|
}); |
|
t.equal(decoder(null, new Buffer('hey')), '686579'); |
|
t.end(); |
|
}); |
|
}); |
|
|
|
test('createStreamDecoder - legacy', function(t){ |
|
var codec = new Codec({ keyEncoding: 'hex' }); |
|
|
|
t.test('keys and values', function(t){ |
|
var decoder = codec.createStreamDecoder({ |
|
encoding: 'json', |
|
keys: true, |
|
values: true |
|
}); |
|
t.deepEqual(decoder(new Buffer('hey'), '"you"'), { |
|
key: '686579', |
|
value: 'you' |
|
}); |
|
t.end(); |
|
}); |
|
|
|
t.test('keys', function(t){ |
|
var decoder = codec.createStreamDecoder({ |
|
keys: true |
|
}); |
|
t.equal(decoder(new Buffer('hey')), '686579'); |
|
t.end(); |
|
}); |
|
|
|
t.test('values', function(t){ |
|
var decoder = codec.createStreamDecoder({ |
|
encoding: 'hex', |
|
values: true |
|
}); |
|
t.equal(decoder(null, new Buffer('hey')), '686579'); |
|
t.end(); |
|
}); |
|
});
|
|
|