mirror of
https://github.com/sstent/node.git
synced 2026-01-28 08:02:05 +00:00
first post
This commit is contained in:
134
Nodejs-Socketio-Mysql-Demo/node_modules/mysql/test/unit/legacy/test-outgoing-packet.js
generated
vendored
Normal file
134
Nodejs-Socketio-Mysql-Demo/node_modules/mysql/test/unit/legacy/test-outgoing-packet.js
generated
vendored
Normal file
@@ -0,0 +1,134 @@
|
||||
var common = require('./common');
|
||||
var OutgoingPacket = require(common.dir.lib + '/outgoing_packet'),
|
||||
Buffer = require('buffer').Buffer;
|
||||
|
||||
function test(test) {
|
||||
gently = new Gently();
|
||||
test();
|
||||
gently.verify(test.name);
|
||||
}
|
||||
|
||||
test(function constructor() {
|
||||
var packet = new OutgoingPacket(10, 5);
|
||||
assert.equal(packet.buffer.length, 14);
|
||||
assert.deepEqual(
|
||||
packet.buffer.slice(0, 3),
|
||||
new Buffer([10, 0, 0])
|
||||
);
|
||||
assert.equal(packet.buffer[3], 5);
|
||||
assert.equal(packet.index, 4);
|
||||
});
|
||||
|
||||
test(function writeNumber() {
|
||||
var packet = new OutgoingPacket(4);
|
||||
packet.writeNumber(4, 257);
|
||||
assert.deepEqual(
|
||||
packet.buffer.slice(4, 8),
|
||||
new Buffer([1, 1, 0, 0])
|
||||
);
|
||||
});
|
||||
|
||||
test(function writeFiller() {
|
||||
var packet = new OutgoingPacket(5);
|
||||
packet.writeFiller(5);
|
||||
assert.equal(packet.index, 9);
|
||||
assert.deepEqual(
|
||||
packet.buffer.slice(4, 9),
|
||||
new Buffer([0, 0, 0, 0, 0])
|
||||
);
|
||||
});
|
||||
|
||||
test(function write() {
|
||||
(function testBuffer() {
|
||||
var packet = new OutgoingPacket(3),
|
||||
BUFFER = new Buffer([1, 2, 3]);
|
||||
|
||||
packet.write(BUFFER);
|
||||
assert.equal(packet.index, 7);
|
||||
assert.deepEqual(packet.buffer.slice(4, 7), BUFFER);
|
||||
})();
|
||||
|
||||
(function testString() {
|
||||
var packet = new OutgoingPacket(3),
|
||||
STRING = 'abc';
|
||||
|
||||
packet.write(STRING);
|
||||
assert.equal(packet.index, 7);
|
||||
assert.equal(packet.buffer.slice(4, 7).toString(), STRING);
|
||||
})();
|
||||
});
|
||||
|
||||
test(function writeNullTerminated() {
|
||||
var packet = new OutgoingPacket(4),
|
||||
BUFFER = new Buffer([17, 23, 42]);
|
||||
|
||||
packet.buffer[7] = 100; // set last byte to non-0
|
||||
|
||||
gently.expect(packet, 'write', function(buffer) {
|
||||
assert.strictEqual(buffer, BUFFER);
|
||||
this.index += buffer.length;
|
||||
});
|
||||
|
||||
packet.writeNullTerminated(BUFFER);
|
||||
assert.equal(packet.buffer[7], 0);
|
||||
assert.equal(packet.index, 8);
|
||||
});
|
||||
|
||||
test(function writeLengthCoded() {
|
||||
(function test1ByteNumber() {
|
||||
var packet = new OutgoingPacket(1);
|
||||
packet.writeLengthCoded(250);
|
||||
assert.equal(packet.buffer[4], 250);
|
||||
assert.equal(packet.index, 5);
|
||||
})();
|
||||
|
||||
(function test2ByteNumber() {
|
||||
var packet = new OutgoingPacket(6);
|
||||
packet.writeLengthCoded(251);
|
||||
assert.equal(packet.buffer[4], 252);
|
||||
assert.equal(packet.buffer[5], 251);
|
||||
assert.equal(packet.buffer[6], 0);
|
||||
assert.equal(packet.index, 7);
|
||||
|
||||
packet.writeLengthCoded(257);
|
||||
assert.equal(packet.buffer[7], 252);
|
||||
assert.equal(packet.buffer[8], 1);
|
||||
assert.equal(packet.buffer[9], 1);
|
||||
assert.equal(packet.index, 10);
|
||||
})();
|
||||
|
||||
(function test3ByteNumber() {
|
||||
var packet = new OutgoingPacket(4);
|
||||
packet.writeLengthCoded(Math.pow(256, 0) * 5 + Math.pow(256, 1) * 6 + Math.pow(256, 2) * 7);
|
||||
assert.equal(packet.buffer[4], 253);
|
||||
assert.equal(packet.buffer[5], 5);
|
||||
assert.equal(packet.buffer[6], 6);
|
||||
assert.equal(packet.buffer[7], 7);
|
||||
assert.equal(packet.index, 8);
|
||||
})();
|
||||
|
||||
(function testNull() {
|
||||
var packet = new OutgoingPacket(1);
|
||||
packet.writeLengthCoded(null);
|
||||
assert.equal(packet.buffer[4], 251);
|
||||
assert.equal(packet.index, 5);
|
||||
})();
|
||||
|
||||
(function testBuffer() {
|
||||
var packet = new OutgoingPacket(4),
|
||||
BUFFER = new Buffer([17, 23, 42]);
|
||||
|
||||
packet.writeLengthCoded(BUFFER);
|
||||
assert.equal(packet.buffer[4], 3);
|
||||
assert.deepEqual(packet.buffer.slice(5, 8), BUFFER);
|
||||
})();
|
||||
|
||||
(function testString() {
|
||||
var packet = new OutgoingPacket(6),
|
||||
STRING = 'über';
|
||||
|
||||
packet.writeLengthCoded(STRING);
|
||||
assert.equal(packet.buffer[4], 5);
|
||||
assert.equal(packet.buffer.slice(5, 10).toString(), STRING);
|
||||
})();
|
||||
});
|
||||
Reference in New Issue
Block a user