Skip to content

Commit 4583c8b

Browse files
committed
tests: add test for dateStrings connection option
1 parent cef468d commit 4583c8b

File tree

2 files changed

+64
-15
lines changed

2 files changed

+64
-15
lines changed

test/unit/connection/test-date-type-cast.js

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,45 @@
1-
var assert = require('assert');
2-
var common = require('../../common');
3-
var connection = common.createConnection({port: common.fakeServerPort});
4-
var server = common.createFakeServer();
1+
var after = require('after');
2+
var assert = require('assert');
3+
var common = require('../../common');
4+
var server = common.createFakeServer();
55

66
server.listen(common.fakeServerPort, function (err) {
77
assert.ifError(err);
88

9-
connection.query('SELECT value FROM date_rows', function (err, rows) {
9+
var done = after(2, function () {
10+
server.destroy();
11+
});
12+
13+
var conn1 = common.createConnection({
14+
port : common.fakeServerPort,
15+
timezone : 'Z'
16+
});
17+
conn1.query('SELECT value FROM date_rows', function (err, rows) {
1018
assert.ifError(err);
1119
assert.equal(rows.length, 4);
1220
assert.strictEqual(rows[0].value, '0000-00-00');
1321
assert.strictEqual(rows[1].value, '2000-00-00');
1422
assert.strictEqual(rows[2].value, '2000-01-00');
1523
assert.ok(rows[3].value instanceof Date);
16-
assert.strictEqual(rows[3].value.getTime(), Date.parse('2000-01-02 00:00:00'));
24+
assert.strictEqual(rows[3].value.toISOString(), '2000-01-02T00:00:00.000Z');
25+
conn1.destroy();
26+
done();
27+
});
1728

18-
connection.destroy();
19-
server.destroy();
29+
var conn2 = common.createConnection({
30+
dateStrings : true,
31+
port : common.fakeServerPort,
32+
timezone : 'Z'
33+
});
34+
conn2.query('SELECT value FROM date_rows', function (err, rows) {
35+
assert.ifError(err);
36+
assert.equal(rows.length, 4);
37+
assert.strictEqual(rows[0].value, '0000-00-00');
38+
assert.strictEqual(rows[1].value, '2000-00-00');
39+
assert.strictEqual(rows[2].value, '2000-01-00');
40+
assert.strictEqual(rows[3].value, '2000-01-02');
41+
conn2.destroy();
42+
done();
2043
});
2144
});
2245

test/unit/connection/test-datetime-type-cast.js

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
1-
var assert = require('assert');
2-
var common = require('../../common');
3-
var connection = common.createConnection({port: common.fakeServerPort, timezone: 'Z'});
4-
var server = common.createFakeServer();
1+
var after = require('after');
2+
var assert = require('assert');
3+
var common = require('../../common');
4+
var server = common.createFakeServer();
55

66
server.listen(common.fakeServerPort, function (err) {
77
assert.ifError(err);
88

9-
connection.query('SELECT value FROM datetime_rows', function (err, rows) {
9+
var done = after(2, function () {
10+
server.destroy();
11+
});
12+
13+
var conn1 = common.createConnection({
14+
port : common.fakeServerPort,
15+
timezone : 'Z'
16+
});
17+
conn1.query('SELECT value FROM datetime_rows', function (err, rows) {
1018
assert.ifError(err);
1119
assert.equal(rows.length, 7);
1220
assert.strictEqual(rows[0].value, '0000-00-00 00:00:00');
@@ -19,9 +27,27 @@ server.listen(common.fakeServerPort, function (err) {
1927
assert.strictEqual(rows[5].value.toISOString(), '2000-01-02T03:04:05.000Z');
2028
assert.ok(rows[6].value instanceof Date);
2129
assert.strictEqual(rows[6].value.toISOString(), '2000-01-02T03:04:05.006Z');
30+
conn1.destroy();
31+
done();
32+
});
2233

23-
connection.destroy();
24-
server.destroy();
34+
var conn2 = common.createConnection({
35+
dateStrings : true,
36+
port : common.fakeServerPort,
37+
timezone : 'Z'
38+
});
39+
conn2.query('SELECT value FROM datetime_rows', function (err, rows) {
40+
assert.ifError(err);
41+
assert.equal(rows.length, 7);
42+
assert.strictEqual(rows[0].value, '0000-00-00 00:00:00');
43+
assert.strictEqual(rows[1].value, '2000-00-00 00:00:00');
44+
assert.strictEqual(rows[2].value, '2000-01-00 00:00:00');
45+
assert.strictEqual(rows[3].value, '2000-01-02 03:04:60');
46+
assert.strictEqual(rows[4].value, '2000-01-02 00:00:00');
47+
assert.strictEqual(rows[5].value, '2000-01-02 03:04:05');
48+
assert.strictEqual(rows[6].value, '2000-01-02 03:04:05.006');
49+
conn2.destroy();
50+
done();
2551
});
2652
});
2753

0 commit comments

Comments
 (0)