-
-
Notifications
You must be signed in to change notification settings - Fork 824
/
Copy pathother_objects.test.js
89 lines (83 loc) · 2.74 KB
/
other_objects.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
var sqlite3 = require('..');
var assert = require('assert');
describe('data types', function() {
var db;
before(function(done) {
db = new sqlite3.Database(':memory:');
db.run("CREATE TABLE txt_table (txt TEXT)");
db.run("CREATE TABLE int_table (int INTEGER)");
db.run("CREATE TABLE flt_table (flt FLOAT)");
db.wait(done);
});
beforeEach(function(done) {
db.exec('DELETE FROM txt_table; DELETE FROM int_table; DELETE FROM flt_table;', done);
});
it('should serialize Date()', function(done) {
var date = new Date();
db.run("INSERT INTO int_table VALUES(?)", date, function (err) {
if (err) throw err;
db.get("SELECT int FROM int_table", function(err, row) {
if (err) throw err;
assert.equal(row.int, +date);
done();
});
});
});
it('should serialize RegExp()', function(done) {
var regexp = /^f\noo/;
db.run("INSERT INTO txt_table VALUES(?)", regexp, function (err) {
if (err) throw err;
db.get("SELECT txt FROM txt_table", function(err, row) {
if (err) throw err;
assert.equal(row.txt, String(regexp));
done();
});
});
});
[
4294967296.249,
Math.PI,
3924729304762836.5,
new Date().valueOf(),
912667.394828365,
2.3948728634826374e+83,
9.293476892934982e+300,
Infinity,
-9.293476892934982e+300,
-2.3948728634826374e+83,
-Infinity
].forEach(function(flt) {
it('should serialize float ' + flt, function(done) {
db.run("INSERT INTO flt_table VALUES(?)", flt, function (err) {
if (err) throw err;
db.get("SELECT flt FROM flt_table", function(err, row) {
if (err) throw err;
assert.equal(row.flt, flt);
done();
});
});
});
});
[
4294967299,
3924729304762836,
new Date().valueOf(),
2.3948728634826374e+83,
9.293476892934982e+300,
Infinity,
-9.293476892934982e+300,
-2.3948728634826374e+83,
-Infinity
].forEach(function(integer) {
it('should serialize integer ' + integer, function(done) {
db.run("INSERT INTO int_table VALUES(?)", integer, function (err) {
if (err) throw err;
db.get("SELECT int AS integer FROM int_table", function(err, row) {
if (err) throw err;
assert.equal(row.integer, integer);
done();
});
});
});
});
});