-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparse-test.js
More file actions
101 lines (97 loc) · 3.28 KB
/
Copy pathparse-test.js
File metadata and controls
101 lines (97 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
require("../env");
require("../../d3");
require("../../d3.csv");
var vows = require("vows"),
assert = require("assert");
var suite = vows.describe("d3.csv");
suite.addBatch({
"parse": {
topic: function() {
return d3.csv.parse;
},
"returns an array of objects": function(parse) {
assert.deepEqual(parse("a,b,c\n1,2,3\n"), [{a: "1", b: "2", c: "3"}]);
},
"does not strip whitespace": function(parse) {
assert.deepEqual(parse("a,b,c\n 1, 2,3\n"), [{a: " 1", b: " 2", c: "3"}]);
},
"parses quoted values": function(parse) {
assert.deepEqual(parse("a,b,c\n\"1\",2,3"), [{a: "1", b: "2", c: "3"}]);
assert.deepEqual(parse("a,b,c\n\"1\",2,3\n"), [{a: "1", b: "2", c: "3"}]);
},
"parses quoted values with quotes": function(parse) {
assert.deepEqual(parse("a\n\"\"\"hello\"\"\""), [{a: "\"hello\""}]);
},
"parses quoted values with newlines": function(parse) {
assert.deepEqual(parse("a\n\"new\nline\""), [{a: "new\nline"}]);
assert.deepEqual(parse("a\n\"new\rline\""), [{a: "new\rline"}]);
assert.deepEqual(parse("a\n\"new\r\nline\""), [{a: "new\r\nline"}]);
},
"parses unix newlines": function(parse) {
assert.deepEqual(parse("a,b,c\n1,2,3\n4,5,\"6\"\n7,8,9"), [
{a: "1", b: "2", c: "3"},
{a: "4", b: "5", c: "6"},
{a: "7", b: "8", c: "9"}
]);
},
"parses mac newlines": function(parse) {
assert.deepEqual(parse("a,b,c\r1,2,3\r4,5,\"6\"\r7,8,9"), [
{a: "1", b: "2", c: "3"},
{a: "4", b: "5", c: "6"},
{a: "7", b: "8", c: "9"}
]);
},
"parses dos newlines": function(parse) {
assert.deepEqual(parse("a,b,c\r\n1,2,3\r\n4,5,\"6\"\r\n7,8,9"), [
{a: "1", b: "2", c: "3"},
{a: "4", b: "5", c: "6"},
{a: "7", b: "8", c: "9"}
]);
}
},
"parseRows": {
topic: function() {
return d3.csv.parseRows;
},
"returns an array of arrays": function(parse) {
assert.deepEqual(parse("a,b,c\n"), [["a", "b", "c"]]);
},
"parses quoted values": function(parse) {
assert.deepEqual(parse("\"1\",2,3\n"), [["1", "2", "3"]]);
assert.deepEqual(parse("\"hello\""), [["hello"]]);
},
"parses quoted values with quotes": function(parse) {
assert.deepEqual(parse("\"\"\"hello\"\"\""), [["\"hello\""]]);
},
"parses quoted values with newlines": function(parse) {
assert.deepEqual(parse("\"new\nline\""), [["new\nline"]]);
assert.deepEqual(parse("\"new\rline\""), [["new\rline"]]);
assert.deepEqual(parse("\"new\r\nline\""), [["new\r\nline"]]);
},
"parses unix newlines": function(parse) {
assert.deepEqual(parse("a,b,c\n1,2,3\n4,5,\"6\"\n7,8,9"), [
["a", "b", "c"],
["1", "2", "3"],
["4", "5", "6"],
["7", "8", "9"]
]);
},
"parses mac newlines": function(parse) {
assert.deepEqual(parse("a,b,c\r1,2,3\r4,5,\"6\"\r7,8,9"), [
["a", "b", "c"],
["1", "2", "3"],
["4", "5", "6"],
["7", "8", "9"]
]);
},
"parses dos newlines": function(parse) {
assert.deepEqual(parse("a,b,c\r\n1,2,3\r\n4,5,\"6\"\r\n7,8,9"), [
["a", "b", "c"],
["1", "2", "3"],
["4", "5", "6"],
["7", "8", "9"]
]);
}
}
});
suite.export(module);