escape: function (test) { test.equals(builder.escape(''), ''); test.equals(builder.escape('hoge'), 'hoge'); test.equals(builder.escape('hoge hoge'), 'hoge hoge'); test.equals(builder.escape('hoge,pos'), 'hoge,pos'); test.equals(builder.escape('hoge"pos'), 'hoge""pos'); test.equals(builder.escape('hoge\'pos'), 'hoge\'pos'); test.equals(builder.escape('"hoge"pos'), '""hoge""pos'); test.equals(builder.escape('hoge""pos'), 'hoge""""pos'); test.done(); },
rl.on('line', function(line){ res.write(SimpleCSVBuilder.build(line.split('\t'))); });
res.send(rows.map(function(row){return SimpleCSVBuilder.build(row.split('\t'));}).join(''));
build: function (test) { test.equals(builder.build([]), ''); test.equals(builder.build(['']), '""\n'); test.equals(builder.build(['','']), '"",""\n'); test.equals(builder.build(['a']), '"a"\n'); test.equals(builder.build(['aa']), '"aa"\n'); test.equals(builder.build(['a"b']), '"a""b"\n'); test.equals(builder.build(['a','b']), '"a","b"\n'); test.equals(builder.build(['a"x','b']), '"a""x","b"\n'); test.equals(builder.build(['a"','b']), '"a""","b"\n'); test.equals(builder.build(['a','b', 'c']), '"a","b","c"\n'); test.equals(builder.build(['a','b', '', 'c']), '"a","b","","c"\n'); test.equals(builder.build(['a','b', null, 'c']), '"a","b","","c"\n'); test.equals(builder.build(['a','b', undefined, 'c']), '"a","b","","c"\n'); test.equals(builder.build(['a','b', 0, 'c']), '"a","b","0","c"\n'); test.done(); }