/
index.js
39 lines (33 loc) · 1 KB
/
index.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
var sys;
try {
sys = require('util');
} catch (e) {
sys = require('sys');
}
var csv = require('../lib/ya-csv'),
assert = require('assert');
var testFile = __dirname + '/crazy.csv';
var expectedRows = 7;
var expectedColsPerRow = 4;
var csvInNoOptions = csv.createCsvFileReader(testFile);
var csvIn = csv.createCsvFileReader(testFile, {
'separator': ',',
'quote': '"',
'comment': '#',
});
var csvOutNoOptions = csv.createCsvFileWriter('/dev/null');
var csvOut = csv.createCsvFileWriter('/dev/null', { 'encoding': 'utf8' });
var lines = 0;
var columns = 0;
csvIn.addListener('end', function() {
assert.strictEqual(expectedRows, lines, "Wrong number of records");
sys.debug(columns + ' columns, ' + lines + ' lines');
});
csvIn.addListener('data', function(data) {
lines++;
data.push(1);
csvOut.writeRecord(data);
assert.strictEqual(expectedColsPerRow + 1, data.length,
"Wrong number of fields per record in record #" + lines);
columns += data.length;
});