Commit | Line | Data |
---|---|---|
36d4fabf RK |
1 | /** |
2 | * @fileoverview Tests for data formats. | |
3 | * | |
4 | * @author konigsberg@google.com (Robert Konigsberg) | |
5 | */ | |
89fdcedb | 6 | describe("formats", function() { |
36d4fabf | 7 | |
89fdcedb | 8 | beforeEach(function() { |
36d4fabf | 9 | document.body.innerHTML = "<div id='graph'></div>"; |
89fdcedb | 10 | }); |
36d4fabf | 11 | |
89fdcedb DV |
12 | afterEach(function() { |
13 | }); | |
36d4fabf | 14 | |
319d0361 | 15 | var dataString = |
36d4fabf RK |
16 | "X,Y\n" + |
17 | "0,-1\n" + | |
18 | "1,0\n" + | |
19 | "2,1\n" + | |
20 | "3,0\n"; | |
21 | ||
319d0361 | 22 | var dataArray = |
36d4fabf RK |
23 | [[0,-1], |
24 | [1,0], | |
25 | [2,1], | |
26 | [3,0]]; | |
27 | ||
89fdcedb | 28 | it('testCsv', function() { |
319d0361 | 29 | var data = dataString; |
36d4fabf RK |
30 | var graph = document.getElementById("graph"); |
31 | var g = new Dygraph(graph, data, {}); | |
319d0361 | 32 | assertData(g); |
89fdcedb | 33 | }); |
36d4fabf | 34 | |
89fdcedb | 35 | it('testArray', function() { |
319d0361 | 36 | var data = dataArray; |
36d4fabf RK |
37 | var graph = document.getElementById("graph"); |
38 | var g = new Dygraph(graph, data, {}); | |
319d0361 | 39 | assertData(g); |
89fdcedb | 40 | }); |
36d4fabf | 41 | |
89fdcedb | 42 | it('testFunctionReturnsCsv', function() { |
319d0361 | 43 | var string = dataString; |
36d4fabf RK |
44 | var data = function() { return string; }; |
45 | ||
46 | var graph = document.getElementById("graph"); | |
47 | var g = new Dygraph(graph, data, {}); | |
319d0361 | 48 | // assertData(g); |
36d4fabf | 49 | console.log("x"); |
89fdcedb | 50 | }); |
36d4fabf | 51 | |
89fdcedb | 52 | it('testFunctionDefinesArray', function() { |
319d0361 | 53 | var array = dataArray; |
36d4fabf RK |
54 | var data = function() { return array; } |
55 | ||
56 | var graph = document.getElementById("graph"); | |
57 | var g = new Dygraph(graph, data, {}); | |
319d0361 | 58 | assertData(g); |
89fdcedb | 59 | }); |
36d4fabf | 60 | |
89fdcedb | 61 | it('testXValueParser', function() { |
57154831 RK |
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) { | |
89fdcedb | 72 | assert.equal(1, str.length); |
57154831 RK |
73 | return str.charCodeAt(0) - "a".charCodeAt(0); |
74 | } | |
75 | }); | |
76 | ||
89fdcedb DV |
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 | }); | |
57154831 | 82 | |
319d0361 DV |
83 | var assertData = function(g) { |
84 | var expected = dataArray; | |
36d4fabf | 85 | |
89fdcedb DV |
86 | assert.equal(4, g.numRows()); |
87 | assert.equal(2, g.numColumns()); | |
36d4fabf RK |
88 | |
89 | for (var i = 0; i < 4; i++) { | |
90 | for (var j = 0; j < 2; j++) { | |
89fdcedb | 91 | assert.equal(expected[i][j], g.getValue(i, j)); |
36d4fabf RK |
92 | } |
93 | } | |
319d0361 | 94 | }; |
89fdcedb DV |
95 | |
96 | }); |