UNPKG

dcos-dygraphs

Version:

dygraphs is a fast, flexible open source JavaScript charting library.

94 lines (75 loc) 1.9 kB
/** * @fileoverview Tests for data formats. * * @author konigsberg@google.com (Robert Konigsberg) */ import Dygraph from '../../src/dygraph'; describe("formats", function() { cleanupAfterEach(); var dataString = "X,Y\n" + "0,-1\n" + "1,0\n" + "2,1\n" + "3,0\n"; var dataArray = [[0,-1], [1,0], [2,1], [3,0]]; var BASE_OPTS = {labels: ['X', 'Y']}; it('testCsv', function() { var data = dataString; var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, {}); assertData(g); }); it('testArray', function() { var data = dataArray; var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, BASE_OPTS); assertData(g); }); it('testFunctionReturnsCsv', function() { var data = function() { return dataString; }; var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, {}); assertData(g); }); it('testFunctionDefinesArray', function() { var array = dataArray; var data = function() { return array; } var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, BASE_OPTS); assertData(g); }); it('testXValueParser', function() { var data = "X,Y\n" + "d,-1\n" + "e,0\n" + "f,1\n" + "g,0\n"; var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, { xValueParser : function(str) { assert.equal(1, str.length); return str.charCodeAt(0) - "a".charCodeAt(0); } }); assert.equal(3, g.getValue(0, 0)); assert.equal(4, g.getValue(1, 0)); assert.equal(5, g.getValue(2, 0)); assert.equal(6, g.getValue(3, 0)); }); var assertData = function(g) { var expected = dataArray; assert.equal(4, g.numRows()); assert.equal(2, g.numColumns()); for (var i = 0; i < 4; i++) { for (var j = 0; j < 2; j++) { assert.equal(expected[i][j], g.getValue(i, j)); } } }; });