ya-csv
Version:
CSV parser and generator for Node.js
45 lines (37 loc) • 1.14 kB
JavaScript
var util;
try {
util = require('util');
} catch (e) {
util = 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");
csvOut.close();
});
csvOut.addListener('close', function(){
console.log('Closed the writer');
});
csvIn.addListener('data', function(data) {
lines++;
assert.notStrictEqual(typeof data[data.length - 1], "undefined");
data.push(1);
csvOut.writeRecord(data);
assert.strictEqual(expectedColsPerRow + 1, data.length,
"Wrong number of fields per record in record #" + lines);
columns += data.length;
});