X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Finteraction_model.js;h=73910615adc0c84f78ac0364ad9a12e14a3d2d63;hb=4ecb55b5c66f7723d1f5c588af62855bd4c06faa;hp=4646ff8935f08993840aa8b247edd66c268cc154;hpb=65728bc9155b54d20889d255f6d3d8766af8c144;p=dygraphs.git diff --git a/auto_tests/tests/interaction_model.js b/auto_tests/tests/interaction_model.js index 4646ff8..7391061 100644 --- a/auto_tests/tests/interaction_model.js +++ b/auto_tests/tests/interaction_model.js @@ -354,7 +354,12 @@ InteractionModelTestCase.prototype.testCorrectAxisValueRangeAfterUnzoom = functi assertNotEquals(1,currentYAxisRange[0]); assertNotEquals(50,currentYAxisRange[1]); - // unzoom by doubleclick + // unzoom by doubleclick. This is really the order in which a browser + // generates events, and we depend on it. + DygraphOps.dispatchMouseDown_Point(g, 10, 10); + DygraphOps.dispatchMouseUp_Point(g, 10, 10); + DygraphOps.dispatchMouseDown_Point(g, 10, 10); + DygraphOps.dispatchMouseUp_Point(g, 10, 10); DygraphOps.dispatchDoubleClick(g, null); // check if range for y-axis was reset to original value @@ -364,3 +369,31 @@ InteractionModelTestCase.prototype.testCorrectAxisValueRangeAfterUnzoom = functi assertEquals(1,newYAxisRange[0]); assertEquals(50,newYAxisRange[1]); }; + +/** + * Ensures pointClickCallback is called when some points along the y-axis don't + * exist. + */ +InteractionModelTestCase.prototype.testPointClickCallback_missingData = function() { + + // There's a B-value at 2, but no A-value. + var data = + "X,A,B\n" + + "1,,100\n"+ + "2,,110\n"+ + "3,140,120\n"+ + "4,130,110\n"+ + ""; + + var clicked; + var g = new Dygraph(document.getElementById("graph"), data, { + pointClickCallback : function(event, point) { + clicked = point; + } + }); + + InteractionModelTestCase.clickAt(g, 2, 110); + + assertEquals(2, clicked.xval); + assertEquals(110, clicked.yval); +};