describe('framer.js', function() {
describe('Serializer', function() {
describe('static method .commonHeader({ type, flags, stream }, buffer_array)', function() {
it('should add the appropriate 9 byte header buffer in front of the others', function() { for (var i = 0; i < test_frames.length; i++) { var test = test_frames[i]; var buffers = [test.buffer.slice(9)]; var header_buffer = test.buffer.slice(0,9);
Serializer.commonHeader(test.frame, buffers);
expect(buffers[0]).to.deep.equal(header_buffer);
}
});
});
Object.keys(frame_types).forEach(function(type) { var tests = test_frames.filter(function(test) { return test.frame.type === type; }); var frame_shape = '{ ' + frame_types[type].join(', ') + ' }';
describe('static method .' + type + '(' + frame_shape + ', buffer_array)', function() {
it('should push buffers to the array that make up a ' + type + ' type payload', function() { for (var i = 0; i < tests.length; i++) { var test = tests[i]; var buffers = [];
Serializer[type](test.frame, buffers);
expect(util.concat(buffers)).to.deep.equal(test.buffer.slice(9));
}
});
});
});
describe('transform stream', function() {
it('should transform frame objects to appropriate buffers', function() { var stream = new Serializer(util.log);
for (var i = 0; i < test_frames.length; i++) { var test = test_frames[i];
stream.write(test.frame); var chunk, buffer = Buffer.alloc(0); while (chunk = stream.read()) {
buffer = util.concat([buffer, chunk]);
}
expect(buffer).to.be.deep.equal(test.buffer);
}
});
});
});
describe('Deserializer', function() {
describe('static method .commonHeader(header_buffer, frame)', function() {
it('should augment the frame object with these properties: { type, flags, stream })', function() { for (var i = 0; i < deserializer_test_frames.length; i++) { var test = deserializer_test_frames[i], frame = {};
Deserializer.commonHeader(test.buffer.slice(0,9), frame);
expect(frame).to.deep.equal({
type: test.frame.type,
flags: test.frame.flags,
stream: test.frame.stream
});
}
});
});
Object.keys(frame_types).forEach(function(type) { var tests = deserializer_test_frames.filter(function(test) { return test.frame.type === type; }); var frame_shape = '{ ' + frame_types[type].join(', ') + ' }';
describe('static method .' + type + '(payload_buffer, frame)', function() {
it('should augment the frame object with these properties: ' + frame_shape, function() { for (var i = 0; i < tests.length; i++) { var test = tests[i]; var frame = {
type: test.frame.type,
flags: test.frame.flags,
stream: test.frame.stream
};
Deserializer[type](test.buffer.slice(9), frame);
expect(frame).to.deep.equal(test.frame);
}
});
});
});
describe('transform stream', function() {
it('should transform buffers to appropriate frame object', function() { var stream = new Deserializer(util.log);
var shuffled = util.shuffleBuffers(deserializer_test_frames.map(function(test) { return test.buffer; }));
shuffled.forEach(stream.write.bind(stream));
describe('bunyan formatter', function() {
describe('`frame`', function() { var format = framer.serializers.frame;
it('should assign a unique ID to each frame', function() { var frame1 = { type: 'DATA', data: Buffer.alloc(10) }; var frame2 = { type: 'PRIORITY', priority: 1 };
expect(format(frame1).id).to.be.equal(format(frame1));
expect(format(frame2).id).to.be.equal(format(frame2));
expect(format(frame1)).to.not.be.equal(format(frame2));
});
});
});
});
Messung V0.5 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.33Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-04-25)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.