pull-protocol-buffers
Version:
Protocol Buffers length-prefixed pull-stream encoder/decoder
61 lines (52 loc) • 1.59 kB
JavaScript
const chai = require('chai')
const should = chai.should()
const assert = require('assert')
const protostream = require('..')
const protostream_pull = require('../pull')
const pull = require('pull-stream')
const pb = require('protocol-buffers')
const testmsg = pb('message Test { string content = 1 ; }').Test
const testdata = ['hello', 'world', 'randomnonsense⅜£¤⅜£ŁŦŁŊẞ€Ŋ', 'hello world!!!1'].map(content => {
return {
content
}
})
describe('pull-protocol-buffers', () => {
describe('lp', () => {
it('should decode and encode', () => {
pull(
pull.values(testdata.slice(0)),
protostream.encode(testmsg),
protostream.decode(testmsg),
pull.collect((err, data) => {
should.not.exist(err)
assert.deepEqual(data, testdata, 'invalid data returned')
})
)
})
})
const outdata = [testmsg.encode(testdata[3])]
describe('single', () => {
it('should encode a single element', () => {
pull(
pull.values(testdata.slice(3)),
protostream_pull.encode(testmsg),
pull.collect((err, data) => {
should.not.exist(err)
assert.deepEqual(data, outdata, 'invalid data returned')
})
)
})
it('should decode a single element', () => {
pull(
pull.values(outdata.slice(0)),
protostream_pull.decode(testmsg),
pull.collect((err, data) => {
should.not.exist(err)
assert.deepEqual(data, testdata.slice(3), 'invalid data returned')
})
)
})
})
})