X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=auto_tests%2Ftests%2Fcallback.js;h=34310705f821c957b4be2deca3282ae11e7af77d;hb=5879307d645ba06bceb1664d33f689888628556c;hp=fff7f90c0aa9853908331553bf72f18b884f0751;hpb=3447a9454de0ae7b6b76f0e0ce9a3ad29c7d9b53;p=dygraphs.git diff --git a/auto_tests/tests/callback.js b/auto_tests/tests/callback.js index fff7f90..3431070 100644 --- a/auto_tests/tests/callback.js +++ b/auto_tests/tests/callback.js @@ -13,29 +13,27 @@ CallbackTestCase.prototype.setUp = function() { CallbackTestCase.prototype.tearDown = function() { }; - var data = "X,a\,b,c\n" + - "10,-1,1,2\n" + - "11,0,3,1\n" + - "12,1,4,2\n" + - "13,0,2,3\n"; +var data = "X,a\,b,c\n" + + "10,-1,1,2\n" + + "11,0,3,1\n" + + "12,1,4,2\n" + + "13,0,2,3\n"; /** * This tests that when the function idxToRow_ returns the proper row and the onHiglightCallback - * is properly called when the first series is hidden (setVisibility = false) + * is properly called when the first series is hidden (setVisibility = false) * */ CallbackTestCase.prototype.testHighlightCallbackIsCalled = function() { var h_row; var h_pts; - var highlightCallback = function(e, x, pts, row) { + var highlightCallback = function(e, x, pts, row) { h_row = row; h_pts = pts; }; - - var graph = document.getElementById("graph"); var g = new Dygraph(graph, data, { @@ -52,3 +50,96 @@ CallbackTestCase.prototype.testHighlightCallbackIsCalled = function() { //check there are only two points (because first series is hidden) assertEquals(2, h_pts.length); }; + + +/** + * Test that drawPointCallback isn't called when drawPoints is false + */ +CallbackTestCase.prototype.testDrawPointCallback_disabled = function() { + var called = false; + + var callback = function() { + called = true; + }; + + var graph = document.getElementById("graph"); + var g = new Dygraph(graph, data, { + drawPointCallback : callback, + }); + + assertFalse(called); +}; + +/** + * Test that drawPointCallback is called when drawPoints is true + */ +CallbackTestCase.prototype.testDrawPointCallback_enabled = function() { + var called = false; + + var callback = function() { + called = true; + }; + + var graph = document.getElementById("graph"); + var g = new Dygraph(graph, data, { + drawPoints : true, + drawPointCallback : callback + }); + + assertTrue(called); +}; + +/** + * Test that drawPointCallback is called when drawPoints is true + */ +CallbackTestCase.prototype.testDrawPointCallback_pointSize = function() { + var pointSize = 0; + var count = 0; + + var callback = function(g, seriesName, canvasContext, cx, cy, color, pointSizeParam) { + pointSize = pointSizeParam; + count++; + }; + + var graph = document.getElementById("graph"); + var g = new Dygraph(graph, data, { + drawPoints : true, + drawPointCallback : callback + }); + + assertEquals(1.5, pointSize); + assertEquals(12, count); // one call per data point. + + var g = new Dygraph(graph, data, { + drawPoints : true, + drawPointCallback : callback, + pointSize : 8 + }); + + assertEquals(8, pointSize); +}; + +/** + * This tests that when the function idxToRow_ returns the proper row and the onHiglightCallback + * is properly called when the first series is hidden (setVisibility = false) + * + */ +CallbackTestCase.prototype.testDrawHighlightPointCallbackIsCalled = function() { + var called = false; + + var drawHighlightPointCallback = function() { + called = true; + }; + + var graph = document.getElementById("graph"); + var g = new Dygraph(graph, data, + { + width: 100, + height : 100, + drawHighlightPointCallback : drawHighlightPointCallback + }); + + assertFalse(called); + DygraphOps.dispatchMouseMove(g, 13, 10); + assertTrue(called); +};