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