X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Finteraction_model.js;h=e36c20b4cdd93acdcdd971ed219e591b1696a6be;hb=d66c74ef29a8ad222e7203911af1b46b37f5bde1;hp=4646ff8935f08993840aa8b247edd66c268cc154;hpb=8be14b0925ba6ebb20de2379a88450ecd50ef4a3;p=dygraphs.git diff --git a/auto_tests/tests/interaction_model.js b/auto_tests/tests/interaction_model.js index 4646ff8..e36c20b 100644 --- a/auto_tests/tests/interaction_model.js +++ b/auto_tests/tests/interaction_model.js @@ -253,9 +253,9 @@ InteractionModelTestCase.prototype.testIsZoomed_none = function() { InteractionModelTestCase.prototype.testIsZoomed_x = function() { var g = new Dygraph(document.getElementById("graph"), data2, {}); - DygraphOps.dispatchMouseDown_Point(g, 10, 10); - DygraphOps.dispatchMouseMove_Point(g, 30, 10); - DygraphOps.dispatchMouseUp_Point(g, 30, 10); + DygraphOps.dispatchMouseDown_Point(g, 100, 100); + DygraphOps.dispatchMouseMove_Point(g, 130, 100); + DygraphOps.dispatchMouseUp_Point(g, 130, 100); assertTrue(g.isZoomed()); assertTrue(g.isZoomed("x")); @@ -278,14 +278,14 @@ InteractionModelTestCase.prototype.testIsZoomed_both = function() { var g = new Dygraph(document.getElementById("graph"), data2, {}); // Zoom x axis - DygraphOps.dispatchMouseDown_Point(g, 10, 10); - DygraphOps.dispatchMouseMove_Point(g, 30, 10); - DygraphOps.dispatchMouseUp_Point(g, 30, 10); + DygraphOps.dispatchMouseDown_Point(g, 100, 100); + DygraphOps.dispatchMouseMove_Point(g, 130, 100); + DygraphOps.dispatchMouseUp_Point(g, 130, 100); // Now zoom y axis - DygraphOps.dispatchMouseDown_Point(g, 10, 10); - DygraphOps.dispatchMouseMove_Point(g, 10, 30); - DygraphOps.dispatchMouseUp_Point(g, 10, 30); + DygraphOps.dispatchMouseDown_Point(g, 100, 100); + DygraphOps.dispatchMouseMove_Point(g, 100, 130); + DygraphOps.dispatchMouseUp_Point(g, 100, 130); assertTrue(g.isZoomed()); @@ -334,33 +334,71 @@ InteractionModelTestCase.prototype.testIsZoomed_updateOptions_both = function() InteractionModelTestCase.prototype.testCorrectAxisValueRangeAfterUnzoom = function() { - var g = new Dygraph(document.getElementById("graph"), data2, {valueRange:[1,50],dateRange:[1,9],animatedZooms:false}); + var g = new Dygraph(document.getElementById("graph"), + data2, { + valueRange: [1, 50], + dateWindow: [1, 9], + animatedZooms:false + }); // Zoom x axis - DygraphOps.dispatchMouseDown_Point(g, 10, 10); - DygraphOps.dispatchMouseMove_Point(g, 30, 10); - DygraphOps.dispatchMouseUp_Point(g, 30, 10); + DygraphOps.dispatchMouseDown_Point(g, 100, 100); + DygraphOps.dispatchMouseMove_Point(g, 130, 100); + DygraphOps.dispatchMouseUp_Point(g, 130, 100); // Zoom y axis - DygraphOps.dispatchMouseDown_Point(g, 10, 10); - DygraphOps.dispatchMouseMove_Point(g, 10, 30); - DygraphOps.dispatchMouseUp_Point(g, 10, 30); + DygraphOps.dispatchMouseDown_Point(g, 100, 100); + DygraphOps.dispatchMouseMove_Point(g, 100, 130); + DygraphOps.dispatchMouseUp_Point(g, 100, 130); currentYAxisRange = g.yAxisRange(); currentXAxisRange = g.xAxisRange(); //check that the range for the axis has changed - assertNotEquals(1,currentXAxisRange[0]); - assertNotEquals(10,currentXAxisRange[1]); - assertNotEquals(1,currentYAxisRange[0]); - assertNotEquals(50,currentYAxisRange[1]); + assertNotEquals(1, currentXAxisRange[0]); + assertNotEquals(10, currentXAxisRange[1]); + 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 // TODO check if range for x-axis is correct. // Currently not possible because dateRange is set to null and extremes are returned newYAxisRange = g.yAxisRange(); - assertEquals(1,newYAxisRange[0]); - assertEquals(50,newYAxisRange[1]); + 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); };