2 * @fileoverview Test cases for the callbacks.
4 * @author uemit.seren@gmail.com (Ümit Seren)
7 var CallbackTestCase
= TestCase("callback");
9 CallbackTestCase
.prototype.setUp
= function() {
10 document
.body
.innerHTML
= "<div id='graph'></div>";
13 CallbackTestCase
.prototype.tearDown
= function() {
16 var data
= "X,a\,b,c\n" +
24 * This tests that when the function idxToRow_ returns the proper row and the onHiglightCallback
25 * is properly called when the first series is hidden (setVisibility = false)
28 CallbackTestCase
.prototype.testHighlightCallbackIsCalled
= function() {
32 var highlightCallback
= function(e
, x
, pts
, row
) {
37 var graph
= document
.getElementById("graph");
38 var g
= new Dygraph(graph
, data
,
42 visibility
: [false, true, true],
43 highlightCallback
: highlightCallback
,
46 DygraphOps
.dispatchMouseMove(g
, 13, 10);
48 //check correct row is returned
49 assertEquals(3, h_row
);
50 //check there are only two points (because first series is hidden)
51 assertEquals(2, h_pts
.length
);
56 * Test that drawPointCallback isn't called when drawPoints is false
58 CallbackTestCase
.prototype.testDrawPointCallback_disabled
= function() {
61 var callback
= function() {
65 var graph
= document
.getElementById("graph");
66 var g
= new Dygraph(graph
, data
, {
67 drawPointCallback
: callback
,
74 * Test that drawPointCallback is called when drawPoints is true
76 CallbackTestCase
.prototype.testDrawPointCallback_enabled
= function() {
79 var callback
= function() {
83 var graph
= document
.getElementById("graph");
84 var g
= new Dygraph(graph
, data
, {
86 drawPointCallback
: callback
93 * Test that drawPointCallback is called when drawPoints is true
95 CallbackTestCase
.prototype.testDrawPointCallback_pointSize
= function() {
99 var callback
= function(g
, seriesName
, canvasContext
, cx
, cy
, color
, pointSizeParam
) {
100 pointSize
= pointSizeParam
;
104 var graph
= document
.getElementById("graph");
105 var g
= new Dygraph(graph
, data
, {
107 drawPointCallback
: callback
110 assertEquals(1.5, pointSize
);
111 assertEquals(12, count
); // one call per data point.
113 var g
= new Dygraph(graph
, data
, {
115 drawPointCallback
: callback
,
119 assertEquals(8, pointSize
);
123 * This tests that when the function idxToRow_ returns the proper row and the onHiglightCallback
124 * is properly called when the first series is hidden (setVisibility = false)
127 CallbackTestCase
.prototype.testDrawHighlightPointCallbackIsCalled
= function() {
130 var drawHighlightPointCallback
= function() {
134 var graph
= document
.getElementById("graph");
135 var g
= new Dygraph(graph
, data
,
139 drawHighlightPointCallback
: drawHighlightPointCallback
143 DygraphOps
.dispatchMouseMove(g
, 13, 10);