X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;ds=sidebyside;f=auto_tests%2Ftests%2Faxis_labels.js;h=f9f7196359e888613d8823476f7b002e33353d5f;hb=d91ba598b82c927945744c7041dc05500b5545b3;hp=6fc54e50891b82396c2b090a283a496a4b4cdfe2;hpb=27561e51dd6cc693ace32b7d2e3a2c3b2994a09f;p=dygraphs.git diff --git a/auto_tests/tests/axis_labels.js b/auto_tests/tests/axis_labels.js index 6fc54e5..f9f7196 100644 --- a/auto_tests/tests/axis_labels.js +++ b/auto_tests/tests/axis_labels.js @@ -84,6 +84,7 @@ AxisLabelsTestCase.prototype.testMinusOneToOne = function() { AxisLabelsTestCase.prototype.testSmallRangeNearZero = function() { var opts = { + drawAxesAtZero: true, width: 480, height: 320 }; @@ -154,22 +155,26 @@ AxisLabelsTestCase.prototype.testXAxisTimeLabelFormatter = function() { var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); g.updateOptions({ - xAxisLabelFormatter: function (totalMinutes) { - var hours = Math.floor( totalMinutes / 60); - var minutes = Math.floor((totalMinutes - (hours * 60))); - var seconds = Math.round((totalMinutes * 60) - (hours * 3600) - (minutes * 60)); - - if (hours < 10) hours = "0" + hours; - if (minutes < 10) minutes = "0" + minutes; - if (seconds < 10) seconds = "0" + seconds; - - return hours + ':' + minutes + ':' + seconds; + axes : { + x : { + axisLabelFormatter : function (totalMinutes) { + var hours = Math.floor( totalMinutes / 60); + var minutes = Math.floor((totalMinutes - (hours * 60))); + var seconds = Math.round((totalMinutes * 60) - (hours * 3600) - (minutes * 60)); + + if (hours < 10) hours = "0" + hours; + if (minutes < 10) minutes = "0" + minutes; + if (seconds < 10) seconds = "0" + seconds; + + return hours + ':' + minutes + ':' + seconds; + } + } } }); assertEquals(["00:05:00","00:05:12","00:05:24","00:05:36","00:05:48"], getXLabels()); - // The legend does not use the xAxisLabelFormatter: + // The legend does not use the axisLabelFormatter: g.setSelection(1); assertEquals('5.1: Y1:1', getLegend()); }; @@ -178,19 +183,25 @@ AxisLabelsTestCase.prototype.testAxisLabelFormatter = function () { var opts = { width: 480, height: 320, - xAxisLabelFormatter: function(x, granularity, opts, dg) { - assertEquals('number', typeof(x)); - assertEquals('number', typeof(granularity)); - assertEquals('function', typeof(opts)); - assertEquals('[Dygraph graph]', dg.toString()); - return 'x' + x; - }, - yAxisLabelFormatter: function(y, granularity, opts, dg) { - assertEquals('number', typeof(y)); - assertEquals('number', typeof(granularity)); - assertEquals('function', typeof(opts)); - assertEquals('[Dygraph graph]', dg.toString()); - return 'y' + y; + axes : { + x : { + axisLabelFormatter : function(x, granularity, opts, dg) { + assertEquals('number', typeof(x)); + assertEquals('number', typeof(granularity)); + assertEquals('function', typeof(opts)); + assertEquals('[Dygraph graph]', dg.toString()); + return 'x' + x; + } + }, + y : { + axisLabelFormatter : function(y, granularity, opts, dg) { + assertEquals('number', typeof(y)); + assertEquals('number', typeof(granularity)); + assertEquals('function', typeof(opts)); + assertEquals('[Dygraph graph]', dg.toString()); + return 'y' + y; + } + } }, labels: ['x', 'y'] }; @@ -212,19 +223,25 @@ AxisLabelsTestCase.prototype.testDateAxisLabelFormatter = function () { var opts = { width: 480, height: 320, - xAxisLabelFormatter: function(x, granularity, opts, dg) { - assertTrue(Dygraph.isDateLike(x)); - assertEquals('number', typeof(granularity)); - assertEquals('function', typeof(opts)); - assertEquals('[Dygraph graph]', dg.toString()); - return 'x' + x.strftime('%Y/%m/%d'); - }, - yAxisLabelFormatter: function(y, granularity, opts, dg) { - assertEquals('number', typeof(y)); - assertEquals('number', typeof(granularity)); - assertEquals('function', typeof(opts)); - assertEquals('[Dygraph graph]', dg.toString()); - return 'y' + y; + axes : { + x : { + axisLabelFormatter : function(x, granularity, opts, dg) { + assertTrue(Dygraph.isDateLike(x)); + assertEquals('number', typeof(granularity)); + assertEquals('function', typeof(opts)); + assertEquals('[Dygraph graph]', dg.toString()); + return 'x' + x.strftime('%Y/%m/%d'); + } + }, + y : { + axisLabelFormatter : function(y, granularity, opts, dg) { + assertEquals('number', typeof(y)); + assertEquals('number', typeof(granularity)); + assertEquals('function', typeof(opts)); + assertEquals('[Dygraph graph]', dg.toString()); + return 'y' + y; + } + } }, labels: ['x', 'y'] }; @@ -249,19 +266,25 @@ AxisLabelsTestCase.prototype.testValueFormatter = function () { var opts = { width: 480, height: 320, - xValueFormatter: function(x, opts, series_name, dg) { - assertEquals('number', typeof(x)); - assertEquals('function', typeof(opts)); - assertEquals('string', typeof(series_name)); - assertEquals('[Dygraph graph]', dg.toString()); - return 'x' + x; - }, - yValueFormatter: function(y, opts, series_name, dg) { - assertEquals('number', typeof(y)); - assertEquals('function', typeof(opts)); - assertEquals('string', typeof(series_name)); - assertEquals('[Dygraph graph]', dg.toString()); - return 'y' + y; + axes : { + x : { + valueFormatter: function(x, opts, series_name, dg) { + assertEquals('number', typeof(x)); + assertEquals('function', typeof(opts)); + assertEquals('string', typeof(series_name)); + assertEquals('[Dygraph graph]', dg.toString()); + return 'x' + x; + } + }, + y : { + valueFormatter: function(y, opts, series_name, dg) { + assertEquals('number', typeof(y)); + assertEquals('function', typeof(opts)); + assertEquals('string', typeof(series_name)); + assertEquals('[Dygraph graph]', dg.toString()); + return 'y' + y; + } + } }, labels: ['x', 'y'] }; @@ -286,19 +309,25 @@ AxisLabelsTestCase.prototype.testDateValueFormatter = function () { var opts = { width: 480, height: 320, - xValueFormatter: function(x, opts, series_name, dg) { - assertEquals('number', typeof(x)); - assertEquals('function', typeof(opts)); - assertEquals('string', typeof(series_name)); - assertEquals('[Dygraph graph]', dg.toString()); - return 'x' + new Date(x).strftime('%Y/%m/%d'); - }, - yValueFormatter: function(y, opts, series_name, dg) { - assertEquals('number', typeof(y)); - assertEquals('function', typeof(opts)); - assertEquals('string', typeof(series_name)); - assertEquals('[Dygraph graph]', dg.toString()); - return 'y' + y; + axes : { + x : { + valueFormatter: function(x, opts, series_name, dg) { + assertEquals('number', typeof(x)); + assertEquals('function', typeof(opts)); + assertEquals('string', typeof(series_name)); + assertEquals('[Dygraph graph]', dg.toString()); + return 'x' + new Date(x).strftime('%Y/%m/%d'); + } + }, + y : { + valueFormatter: function(y, opts, series_name, dg) { + assertEquals('number', typeof(y)); + assertEquals('function', typeof(opts)); + assertEquals('string', typeof(series_name)); + assertEquals('[Dygraph graph]', dg.toString()); + return 'y' + y; + } + } }, labels: ['x', 'y'] }; @@ -325,17 +354,23 @@ AxisLabelsTestCase.prototype.testAxisLabelFormatterPrecedence = function () { var opts = { width: 480, height: 320, - xValueFormatter: function(x) { - return 'xvf' + x; - }, - yValueFormatter: function(y) { - return 'yvf' + y; - }, - xAxisLabelFormatter: function(x, granularity) { - return 'x' + x; - }, - yAxisLabelFormatter: function(y) { - return 'y' + y; + axes : { + x : { + valueFormatter: function(x) { + return 'xvf' + x; + }, + axisLabelFormatter: function(x, granularity) { + return 'x' + x; + } + }, + y : { + valueFormatter: function(y) { + return 'yvf' + y; + }, + axisLabelFormatter: function(y) { + return 'y' + y; + } + } }, labels: ['x', 'y'] }; @@ -368,23 +403,39 @@ AxisLabelsTestCase.prototype.testAxisLabelFormatterIncremental = function () { var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, opts); g.updateOptions({ - xValueFormatter: function(x) { - return 'xvf' + x; + axes : { + x : { + valueFormatter: function(x) { + return 'xvf' + x; + } + } } }); g.updateOptions({ - yValueFormatter: function(y) { - return 'yvf' + y; + axes : { + y : { + valueFormatter: function(y) { + return 'yvf' + y; + } + } } }); g.updateOptions({ - xAxisLabelFormatter: function(x, granularity) { - return 'x' + x; + axes : { + x : { + axisLabelFormatter: function(x, granularity) { + return 'x' + x; + } + } } }); g.updateOptions({ - yAxisLabelFormatter: function(y) { - return 'y' + y; + axes : { + y : { + axisLabelFormatter: function(y) { + return 'y' + y; + } + } } }); @@ -420,3 +471,30 @@ AxisLabelsTestCase.prototype.testGlobalFormatters = function() { g.setSelection(9); assertEquals("vf9: y:vf18", getLegend()); }; + +AxisLabelsTestCase.prototype.testSeriesOrder = function() { + var opts = { + width: 480, + height: 320 + }; + var data = "x,00,01,10,11\n" + + "0,101,201,301,401\n" + + "1,102,202,302,402\n" + + "2,103,203,303,403\n" + + "3,104,204,304,404\n" + ; + + var graph = document.getElementById("graph"); + var g = new Dygraph(graph, data, opts); + + g.setSelection(2); + assertEquals('2: 00:103 01:203 10:303 11:403', getLegend()); + + // Sanity checks for indexFromSetName + assertEquals(0, g.indexFromSetName("x")); + assertEquals(1, g.indexFromSetName("00")); + assertEquals(null, g.indexFromSetName("abcde")); + + // Verify that we get the label list back in the right order + assertEquals(["x", "00", "01", "10", "11"], g.getLabels()); +};