|
1 require("../env"); |
|
2 require("../../d3"); |
|
3 require("../../d3.csv"); |
|
4 |
|
5 var vows = require("vows"), |
|
6 assert = require("assert"); |
|
7 |
|
8 var suite = vows.describe("d3.csv.format"); |
|
9 |
|
10 suite.addBatch({ |
|
11 "format": { |
|
12 topic: function() { |
|
13 return d3.csv.format; |
|
14 }, |
|
15 "takes an array of arrays as input": function(format) { |
|
16 assert.equal(format([["a", "b", "c"], ["1", "2", "3"]]), "a,b,c\n1,2,3"); |
|
17 }, |
|
18 "separates lines using unix newline": function(format) { |
|
19 assert.equal(format([[], []]), "\n"); |
|
20 }, |
|
21 "does not strip whitespace": function(format) { |
|
22 assert.equal(format([["a ", " b", "c"], ["1", "2", "3 "]]), "a , b,c\n1,2,3 "); |
|
23 }, |
|
24 "does not quote simple values": function(format) { |
|
25 assert.equal(format([["a"], [1]]), "a\n1"); |
|
26 }, |
|
27 "escapes double quotes": function(format) { |
|
28 assert.equal(format([["\"fish\""]]), "\"\"\"fish\"\"\""); |
|
29 }, |
|
30 "escapes unix newlines": function(format) { |
|
31 assert.equal(format([["new\nline"]]), "\"new\nline\""); |
|
32 }, |
|
33 "escapes commas": function(format) { |
|
34 assert.equal(format([["oxford,comma"]]), "\"oxford,comma\""); |
|
35 } |
|
36 } |
|
37 }); |
|
38 |
|
39 suite.export(module); |