Merge pull request #565 from danvk/gulp
[dygraphs.git] / auto_tests / tests / formats.js
... / ...
CommitLineData
1/**
2 * @fileoverview Tests for data formats.
3 *
4 * @author konigsberg@google.com (Robert Konigsberg)
5 */
6describe("formats", function() {
7
8beforeEach(function() {
9 document.body.innerHTML = "<div id='graph'></div>";
10});
11
12afterEach(function() {
13});
14
15var dataString =
16 "X,Y\n" +
17 "0,-1\n" +
18 "1,0\n" +
19 "2,1\n" +
20 "3,0\n";
21
22var dataArray =
23 [[0,-1],
24 [1,0],
25 [2,1],
26 [3,0]];
27
28it('testCsv', function() {
29 var data = dataString;
30 var graph = document.getElementById("graph");
31 var g = new Dygraph(graph, data, {});
32 assertData(g);
33});
34
35it('testArray', function() {
36 var data = dataArray;
37 var graph = document.getElementById("graph");
38 var g = new Dygraph(graph, data, {});
39 assertData(g);
40});
41
42it('testFunctionReturnsCsv', function() {
43 var string = dataString;
44 var data = function() { return string; };
45
46 var graph = document.getElementById("graph");
47 var g = new Dygraph(graph, data, {});
48 // assertData(g);
49 console.log("x");
50});
51
52it('testFunctionDefinesArray', function() {
53 var array = dataArray;
54 var data = function() { return array; }
55
56 var graph = document.getElementById("graph");
57 var g = new Dygraph(graph, data, {});
58 assertData(g);
59});
60
61it('testXValueParser', function() {
62 var data =
63 "X,Y\n" +
64 "d,-1\n" +
65 "e,0\n" +
66 "f,1\n" +
67 "g,0\n";
68
69 var graph = document.getElementById("graph");
70 var g = new Dygraph(graph, data, {
71 xValueParser : function(str) {
72 assert.equal(1, str.length);
73 return str.charCodeAt(0) - "a".charCodeAt(0);
74 }
75 });
76
77 assert.equal(3, g.getValue(0, 0));
78 assert.equal(4, g.getValue(1, 0));
79 assert.equal(5, g.getValue(2, 0));
80 assert.equal(6, g.getValue(3, 0));
81});
82
83var assertData = function(g) {
84 var expected = dataArray;
85
86 assert.equal(4, g.numRows());
87 assert.equal(2, g.numColumns());
88
89 for (var i = 0; i < 4; i++) {
90 for (var j = 0; j < 2; j++) {
91 assert.equal(expected[i][j], g.getValue(i, j));
92 }
93 }
94};
95
96});