Skip to content

Commit 64b7291

Browse files
committed
Refactored:
- Fix some tests.
1 parent e834303 commit 64b7291

2 files changed

Lines changed: 66 additions & 42 deletions

File tree

test/testCSVConverter2.js

Lines changed: 65 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,17 @@ describe("CSV Converter", function () {
2323
eol: "\n"
2424
});
2525
var count = 0;
26-
conv.on("record_parsed", function (rec) {
26+
conv.on("record_parsed", function (resultJson, row, index) {
2727
count++;
28+
assert(resultJson);
29+
assert(row.length === 2);
30+
assert(index >= 0);
2831
});
2932
conv.on("error", function () {
3033
console.log(arguments);
3134
});
32-
conv.on("end_parsed", function () {
35+
conv.on("end_parsed", function (result) {
36+
assert(result);
3337
assert(count === 5290);
3438
done();
3539
});
@@ -126,10 +130,13 @@ describe("CSV Converter", function () {
126130
conv.transform = function (json, row, index) {
127131
json.rowNum = index;
128132
};
129-
conv.on("record_parsed", function (j) {
130-
assert(j.rowNum >= 0);
133+
conv.on("record_parsed", function (resultJson, row, index) {
134+
assert(resultJson.rowNum >= 0);
135+
assert(row.length === 9);
136+
assert(index >= 0);
131137
});
132138
conv.on("end_parsed", function (res) {
139+
assert(res.length === 2);
133140
assert(res[0].rowNum === 0);
134141
assert(res[1].rowNum === 1);
135142
done();
@@ -154,7 +161,6 @@ describe("CSV Converter", function () {
154161
var rs = fs.createReadStream(testData);
155162
var conv = new Converter({ trim: true });
156163
conv.on("end_parsed", function (res) {
157-
// console.log(res);
158164
assert.equal(res[0]["Column 1"], "Column1Row1");
159165
assert.equal(res[0]["Column 2"], "Column2Row1");
160166
done();
@@ -295,46 +301,54 @@ describe("CSV Converter", function () {
295301
it("should emit json and csv and finish event", function (done) {
296302
var testData = __dirname + "/data/complexJSONCSV";
297303
var rs = fs.createReadStream(testData);
298-
var numofrow = 0;
299-
var numofjson = 0;
304+
var numOfRow = 0;
305+
var numOfJson = 0;
300306
csv()
301307
.fromStream(rs)
302-
.on('csv', function (row) {
303-
numofrow++;
308+
.on('csv', function (row, idx) {
309+
numOfRow++;
310+
assert(row);
311+
assert(idx >= 0);
304312
})
305-
.on("json", function (res) {
306-
numofjson++;
313+
.on("json", function (res, idx) {
314+
numOfJson++;
307315
assert.equal(typeof res, "object");
316+
assert(idx >= 0);
308317
})
309318
.on("done", function (error) {
310319
assert(!error);
311-
assert.equal(numofjson, numofrow);
312-
assert(numofrow !== 0);
320+
assert.equal(numOfJson, numOfRow);
321+
assert(numOfRow !== 0);
313322
done();
314323
});
315324
});
316325

317326
it("should transform with transf function", function (done) {
318327
var testData = __dirname + "/data/complexJSONCSV";
319328
var rs = fs.createReadStream(testData);
320-
var numofrow = 0;
321-
var numofjson = 0;
329+
var numOfRow = 0;
330+
var numOfJson = 0;
322331
csv()
323332
.fromStream(rs)
324333
.transf(function (json, row, idx) {
325334
json.a = "test";
335+
assert(row);
336+
assert(idx >= 0);
326337
})
327-
.on('csv', function (row) {
328-
numofrow++;
338+
.on('csv', function (row, idx) {
339+
numOfRow++;
340+
assert(row);
341+
assert(idx >= 0);
329342
})
330-
.on("json", function (res) {
331-
numofjson++;
343+
.on("json", function (res, idx) {
344+
numOfJson++;
332345
assert.equal(typeof res, "object");
333346
assert.equal(res.a, "test");
347+
assert(idx >= 0);
334348
})
335349
.on("end", function () {
336-
assert.equal(numofjson, numofrow);
337-
assert(numofrow !== 0);
350+
assert.equal(numOfJson, numOfRow);
351+
assert(numOfRow !== 0);
338352
done();
339353
});
340354
});
@@ -376,62 +390,74 @@ describe("CSV Converter", function () {
376390
it("should process long header", function (done) {
377391
var testData = __dirname + "/data/longHeader";
378392
var rs = fs.createReadStream(testData,{highWaterMark: 100});
379-
var numofrow = 0;
380-
var numofjson = 0;
393+
var numOfRow = 0;
394+
var numOfJson = 0;
381395
csv({},{highWaterMark:100})
382396
.fromStream(rs)
383-
.on("json", function (res) {
397+
.on('csv', function (row, idx) {
398+
numOfRow++;
399+
assert(idx >= 0);
400+
})
401+
.on("json", function (res, idx) {
402+
numOfJson++;
384403
assert.equal(res.Date, '8/26/16');
404+
assert(idx >= 0);
385405
})
386406
.on("end", function () {
407+
assert.equal(numOfJson, numOfRow);
408+
assert(numOfJson === 1);
387409
done();
388410
});
389411
});
390412

391-
it("should parse #139",function(done){
413+
it("should parse #139", function(done) {
392414
var rs = fs.createReadStream(__dirname + "/data/data#139");
393415
csv()
394-
.fromStream(rs)
395-
.on("end_parsed",function(res){
396-
assert.equal(res[1].field3, "9001009395 9001009990");
397-
done();
398-
});
416+
.fromStream(rs)
417+
.on("end_parsed", function(res) {
418+
assert.equal(res[1].field3, "9001009395 9001009990");
419+
done();
420+
});
399421
});
400422

401-
it("should ignore column",function(done){
423+
it("should ignore column", function(done) {
402424
var rs = fs.createReadStream(__dirname + "/data/dataWithQoutes");
403425
csv({
404426
ignoreColumns:[0]
405427
})
406428
.fromStream(rs)
407-
.on("csv",function(row,idx){
429+
.on("csv", function(row, idx) {
430+
assert(idx >= 0);
408431
if (idx ===1){
409432
assert.equal(row[0],"n");
410433
}
411434
})
412-
.on("json",function(j,idx){
413-
assert(!j.TIMESTAMP);
435+
.on("json", function(j, idx) {
436+
assert(!j.TIMESTAMP);
437+
assert(idx >= 0);
414438
})
415-
.on("end",function(){
439+
.on("end", function() {
416440
done();
417441
});
418442
});
419443

420-
it("should include column",function(done){
444+
it("should include column",function(done) {
421445
var rs = fs.createReadStream(__dirname + "/data/dataWithQoutes");
422446
csv({
423447
includeColumns:[0]
424448
})
425449
.fromStream(rs)
426-
.on("csv",function(row,idx){
450+
.on("csv", function(row, idx) {
451+
assert(idx >= 0);
427452
assert.equal(row.length, 1);
428453
})
429-
.on("json",function(j,idx){
454+
.on("json", function(j, idx) {
455+
assert(idx >= 0);
430456
if (idx === 1){
431457
assert.equal(j.TIMESTAMP, "abc, def, ccc");
432458
}
433459
})
434-
.on("end",function(){
460+
.on("end", function() {
435461
done();
436462
});
437463
});

test/testDelimiter.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,12 @@ describe("Test delimiters", function () {
1010
});
1111

1212
it("should return the autodetected delimiter if 'auto' specified", function() {
13-
var delimiter = "auto";
1413
var rowStr = "a;b;c";
15-
var returnedDelimiter = getDelimiter(rowStr, {delimiter:"auto"});
14+
var returnedDelimiter = getDelimiter(rowStr, {delimiter: "auto"});
1615
assert(returnedDelimiter === ";");
1716
});
1817

1918
it("should return the ',' delimiter if delimiter cannot be specified, in case of 'auto'", function() {
20-
var delimiter = "auto";
2119
var rowStr = "abc";
2220
var returnedDelimiter = getDelimiter(rowStr, {delimiter: "auto"});
2321
assert(returnedDelimiter === ",");

0 commit comments

Comments
 (0)