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]]; | |
65129ba8 | 27 | var BASE_OPTS = {labels: ['X', 'Y']}; |
36d4fabf | 28 | |
89fdcedb | 29 | it('testCsv', function() { |
319d0361 | 30 | var data = dataString; |
36d4fabf RK |
31 | var graph = document.getElementById("graph"); |
32 | var g = new Dygraph(graph, data, {}); | |
319d0361 | 33 | assertData(g); |
89fdcedb | 34 | }); |
36d4fabf | 35 | |
89fdcedb | 36 | it('testArray', function() { |
319d0361 | 37 | var data = dataArray; |
36d4fabf | 38 | var graph = document.getElementById("graph"); |
65129ba8 | 39 | var g = new Dygraph(graph, data, BASE_OPTS); |
319d0361 | 40 | assertData(g); |
89fdcedb | 41 | }); |
36d4fabf | 42 | |
89fdcedb | 43 | it('testFunctionReturnsCsv', function() { |
319d0361 | 44 | var string = dataString; |
36d4fabf RK |
45 | var data = function() { return string; }; |
46 | ||
47 | var graph = document.getElementById("graph"); | |
48 | var g = new Dygraph(graph, data, {}); | |
319d0361 | 49 | // assertData(g); |
36d4fabf | 50 | console.log("x"); |
89fdcedb | 51 | }); |
36d4fabf | 52 | |
89fdcedb | 53 | it('testFunctionDefinesArray', function() { |
319d0361 | 54 | var array = dataArray; |
36d4fabf RK |
55 | var data = function() { return array; } |
56 | ||
57 | var graph = document.getElementById("graph"); | |
65129ba8 | 58 | var g = new Dygraph(graph, data, BASE_OPTS); |
319d0361 | 59 | assertData(g); |
89fdcedb | 60 | }); |
36d4fabf | 61 | |
89fdcedb | 62 | it('testXValueParser', function() { |
57154831 RK |
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) { | |
89fdcedb | 73 | assert.equal(1, str.length); |
57154831 RK |
74 | return str.charCodeAt(0) - "a".charCodeAt(0); |
75 | } | |
76 | }); | |
77 | ||
89fdcedb DV |
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 | }); | |
57154831 | 83 | |
319d0361 DV |
84 | var assertData = function(g) { |
85 | var expected = dataArray; | |
36d4fabf | 86 | |
89fdcedb DV |
87 | assert.equal(4, g.numRows()); |
88 | assert.equal(2, g.numColumns()); | |
36d4fabf RK |
89 | |
90 | for (var i = 0; i < 4; i++) { | |
91 | for (var j = 0; j < 2; j++) { | |
89fdcedb | 92 | assert.equal(expected[i][j], g.getValue(i, j)); |
36d4fabf RK |
93 | } |
94 | } | |
319d0361 | 95 | }; |
89fdcedb DV |
96 | |
97 | }); |