X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Fstacked.js;h=e365c583f0e73fcfe3b56af8d378f5e20e8dfabb;hb=0c59a4284a1fe42d254fb07df67d6c01a9577a84;hp=e1f2cbc724a5e7d61df3bd123a326743cf2bad21;hpb=debdb88d1ccca3648f45d6cc5d49896f3014cfdd;p=dygraphs.git diff --git a/auto_tests/tests/stacked.js b/auto_tests/tests/stacked.js index e1f2cbc..e365c58 100644 --- a/auto_tests/tests/stacked.js +++ b/auto_tests/tests/stacked.js @@ -60,3 +60,122 @@ stackedTestCase.prototype.testCorrectColors = function() { assertEquals([0, 0, 255, 38], getPixel(imageData, 200, 250)); assertEquals([0, 255, 0, 38], getPixel(imageData, 200, 150)); }; + +// Regression test for http://code.google.com/p/dygraphs/issues/detail?id=358 +stackedTestCase.prototype.testSelectionValues = function() { + var opts = { + stackedGraph: true + }; + var data = "X,Y1,Y2\n" + + "0,1,1\n" + + "1,1,1\n" + + "2,1,1\n" + + "3,1,1\n" + ; + + var graph = document.getElementById("graph"); + g = new Dygraph(graph, data, opts); + + g.setSelection(0); + + assertEquals("0: Y1: 1 Y2: 1", Util.getLegend()); + + // Verify that the behavior is correct with highlightSeriesOpts as well. + g.updateOptions({ + highlightSeriesOpts: { + strokeWidth: 10 + } + }); + g.setSelection(0); + assertEquals("0: Y1: 1 Y2: 1", Util.getLegend()); + + g.setSelection(1); + assertEquals("1: Y1: 1 Y2: 1", Util.getLegend()); + + g.setSelection(0, 'Y2'); + assertEquals("0: Y1: 1 Y2: 1", Util.getLegend()); +}; + +// Regression test for http://code.google.com/p/dygraphs/issues/detail?id=176 +stackedTestCase.prototype.testDuplicatedXValue = function() { + var opts = { + stackedGraph: true, + fillAlpha: 0.15, + colors: ['#00ff00'], + width: 400, + height: 300 + }; + var data = "X,Y1\n" + + "0,1\n" + + "1,1\n" + + "2,1\n" + + "2,1\n" + // duplicate x-value! + "3,1\n" + ; + + var graph = document.getElementById("graph"); + g = new Dygraph(graph, data, opts); + + assert(g.yAxisRange()[1] < 2); + + assertEquals([0, 255, 0, 38], Util.samplePixel(g.hidden_, 200, 250)); + assertEquals([0, 255, 0, 38], Util.samplePixel(g.hidden_, 317, 250)); +} + +// Validates regression when null values in stacked graphs show up +// incorrectly in the legend. +stackedTestCase.prototype.testNullValues = function() { + var opts = { + stackedGraph: true, + stepPlot:true + }; + var data = "X,Y1,Y2,Y3\n" + + "0,-5,-1,1\n" + + "1,1,,1\n" + + "2,1,2,3\n" + + "3,3,,4\n" + + "4,3,2,3\n" + ; + + var graph = document.getElementById("graph"); + g = new Dygraph(graph, data, opts); + + g.setSelection(0); + assertEquals("0: Y1: -5 Y2: -1 Y3: 1", Util.getLegend()); + + g.setSelection(1); + assertEquals("1: Y1: 1 Y3: 1", Util.getLegend()); + + g.setSelection(2); + assertEquals("2: Y1: 1 Y2: 2 Y3: 3", Util.getLegend()); + + g.setSelection(3); + assertEquals("3: Y1: 3 Y3: 4", Util.getLegend()); + + g.setSelection(4); + assertEquals("4: Y1: 3 Y2: 2 Y3: 3", Util.getLegend()); +}; + +// Regression test for http://code.google.com/p/dygraphs/issues/detail?id=438 +stackedTestCase.prototype.testMissingValueAtZero = function() { + var opts = { + stackedGraph: true + }; + var data = "X,Y1,Y2\n" + + "0,,1\n" + + "1,1,2\n" + + "2,,3\n" + ; + + var graph = document.getElementById("graph"); + g = new Dygraph(graph, data, opts); + + g.setSelection(0); + assertEquals("0: Y2: 1", Util.getLegend()); + + g.setSelection(1); + assertEquals("1: Y1: 1 Y2: 2", Util.getLegend()); + + g.setSelection(2); + assertEquals("2: Y2: 3", Util.getLegend()); +};