These are the projects for the JavaScript Level 2 module in Learn JS the Hard Way.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

37 lines
831 B

import spectrum from "csv-spectrum";
import { parseString } from "fast-csv";
import { promisify } from "util";
import test from "ava";
const simple_parse = (raw_csv) => {
const rows = raw_csv.split("\n");
const result = [];
for(let row of rows) {
result.push(row.split(','));
}
return result;
}
const spectrum_samples = promisify(spectrum);
test('spectrum samples match', async t => {
const samples = await spectrum_samples();
for(let sample of samples) {
const raw_csv = sample.csv.toString();
const good = [];
const count = await new Promise((res, rej) => {
parseString(raw_csv)
.on('error', err => rej(err))
.on('data', row => good.push(row))
.on('end', rowCount => res(rowCount));
});
const ours = simple_parse(raw_csv);
t.is(ours, good);
}
})