-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbasic.test.js
More file actions
88 lines (88 loc) · 2.4 KB
/
Copy pathbasic.test.js
File metadata and controls
88 lines (88 loc) · 2.4 KB
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
var fs = require('fs');
var basic = require('./data/watershed');
var char11 = require('./data/watershed-11chars');
var specialChar = require('./data/watershed-specialCharacters');
var utf = [
{
field: '💩'
},
{
field: 'Hněvošický háj'
}
]
var dbf = require('../');
require('chai').should();
function toArrayBuffer(buffer) {
return buffer;
}
describe('dbf',function(){
it('should work',function(done){
fs.readFile('./test/data/watershed.dbf',function(err,data){
if(err){
return done(err);
}
dbf(data).should.deep.equal(basic);
done();
});
});
it('should handle 11 charicter field names',function(done){
fs.readFile('./test/data/watershed-11chars.dbf',function(err,data){
if(err){
return done(err);
}
dbf(data).should.deep.equal(char11);
done();
});
});
it('should handle special characters',function(done){
fs.readFile('./test/data/watershed-specialCharacters.dbf',function(err,data){
if(err){
return done(err);
}
dbf(data).should.deep.equal(specialChar);
done();
});
});
it('should handle an empty / null dbf file',function(done){
fs.readFile('./test/data/empty.dbf',function(err,data){
if(err){
return done(err);
}
dbf(data).should.deep.equal([{}, {}]);
done();
});
});
it('should handle utf charicters',function(done){
fs.readFile('./test/data/utf.dbf',function(err,data){
if(err){
return done(err);
}
dbf(data).should.deep.equal(utf);
dbf(data, 'UTF-8').should.deep.equal(utf);
done();
});
});
it('should handle utf charicters and a stupid formatting',function(done){
fs.readFile('./test/data/utf.dbf',function(err,data){
if(err){
return done(err);
}
fs.readFile('./test/data/page.html', 'utf8',function(err,data2){
dbf(data, data2).should.deep.equal(utf);
done();
})
});
});
it('should handle other charicters',function(done){
fs.readFile('./test/data/codepage.dbf',function(err,data){
if(err){
return done(err);
}
dbf(data)[1].should.not.deep.equal(utf[1]);
dbf(data, '1250')[1].should.deep.equal(utf[1]);
dbf(data, 'ANSI 1250')[1].should.deep.equal(utf[1]);
dbf(data, 'windows-1250')[1].should.deep.equal(utf[1]);
done();
});
});
});