mirror of
https://github.com/sstent/node.git
synced 2026-01-27 07:33:13 +00:00
96 lines
2.7 KiB
JavaScript
96 lines
2.7 KiB
JavaScript
var common = require('./common');
|
|
var Parser = require(common.dir.lib + '/parser');
|
|
var constants = require(common.dir.lib + '/constants');
|
|
var Client = require(common.dir.lib + '/client');
|
|
|
|
function test(test) {
|
|
client = new Client();
|
|
gently = new Gently();
|
|
test();
|
|
gently.verify(test.name);
|
|
};
|
|
|
|
test(function write() {
|
|
var PACKET = {buffer: []},
|
|
CONNECTION = client._socket = {};
|
|
|
|
gently.expect(CONNECTION, 'write', function(buffer) {
|
|
assert.strictEqual(buffer, PACKET.buffer);
|
|
});
|
|
|
|
client.write(PACKET);
|
|
});
|
|
|
|
test(function format() {
|
|
var sql = client.format('? + ? = ?', [1, 2, 'great']);
|
|
assert.equal(sql, '1 + 2 = \'great\'');
|
|
|
|
assert.throws(function() {
|
|
var sql = client.format('? + ? = ?', [1, 2]);
|
|
});
|
|
|
|
assert.throws(function() {
|
|
var sql = client.format('? + ? = ?', [1, 2, 3, 4]);
|
|
});
|
|
});
|
|
|
|
test(function escape() {
|
|
assert.equal(client.escape(undefined), 'NULL');
|
|
assert.equal(client.escape(null), 'NULL');
|
|
assert.equal(client.escape(false), 'false');
|
|
assert.equal(client.escape(true), 'true');
|
|
assert.equal(client.escape(5), '5');
|
|
assert.equal(client.escape({foo:'bar'}), "'[object Object]'");
|
|
assert.equal(client.escape([1,2,3]), "'1','2','3'");
|
|
assert.equal(client.escape(new Date(Date.UTC(2011,6,6,6,6,6,6))), "'2011-07-06T06:06:06.006Z'");
|
|
|
|
assert.equal(client.escape('Super'), "'Super'");
|
|
assert.equal(client.escape('Sup\0er'), "'Sup\\0er'");
|
|
assert.equal(client.escape('Sup\ber'), "'Sup\\ber'");
|
|
assert.equal(client.escape('Sup\ner'), "'Sup\\ner'");
|
|
assert.equal(client.escape('Sup\rer'), "'Sup\\rer'");
|
|
assert.equal(client.escape('Sup\ter'), "'Sup\\ter'");
|
|
assert.equal(client.escape('Sup\\er'), "'Sup\\\\er'");
|
|
assert.equal(client.escape('Sup\u001aer'), "'Sup\\Zer'");
|
|
assert.equal(client.escape('Sup\'er'), "'Sup\\'er'");
|
|
assert.equal(client.escape('Sup"er'), "'Sup\\\"er'");
|
|
});
|
|
|
|
test(function _packetToUserObject() {
|
|
(function testOkPacket() {
|
|
var PACKET = {
|
|
type: Parser.OK_PACKET,
|
|
length: 65,
|
|
received: 65,
|
|
number: 92,
|
|
foo: 'bar'
|
|
};
|
|
|
|
var ok = Client._packetToUserObject(PACKET);
|
|
|
|
assert.notStrictEqual(PACKET, ok);
|
|
assert.ok(!(ok instanceof Error));
|
|
assert.equal(ok.foo, PACKET.foo);
|
|
assert.equal(ok.type, undefined);
|
|
assert.equal(ok.length, undefined);
|
|
assert.equal(ok.received, undefined);
|
|
})();
|
|
|
|
(function testErrorPacket() {
|
|
var PACKET = {
|
|
type: Parser.ERROR_PACKET,
|
|
foo: 'bar',
|
|
errorMessage: 'oh no',
|
|
errorNumber: 1007
|
|
};
|
|
|
|
var err = Client._packetToUserObject(PACKET);
|
|
|
|
assert.ok(err instanceof Error);
|
|
assert.equal(err.message, 'oh no');
|
|
assert.equal(err.errorMessage, undefined);
|
|
assert.equal(err.number, 1007);
|
|
assert.equal(err.errorNumber, undefined);
|
|
})();
|
|
});
|