Commit | Line | Data |
---|---|---|
1c6b239c | 1 | /** |
2 | * @fileoverview Test cases for the callbacks. | |
3 | * | |
4 | * @author uemit.seren@gmail.com (Ümit Seren) | |
5 | */ | |
6 | ||
7 | var CallbackTestCase = TestCase("callback"); | |
8 | ||
9 | CallbackTestCase.prototype.setUp = function() { | |
10 | document.body.innerHTML = "<div id='graph'></div>"; | |
11 | }; | |
12 | ||
13 | CallbackTestCase.prototype.tearDown = function() { | |
14 | }; | |
15 | ||
16 | var data = "X,a\,b,c\n" + | |
17 | "10,-1,1,2\n" + | |
18 | "11,0,3,1\n" + | |
19 | "12,1,4,2\n" + | |
20 | "13,0,2,3\n"; | |
21 | ||
22 | ||
3447a945 RK |
23 | /** |
24 | * This tests that when the function idxToRow_ returns the proper row and the onHiglightCallback | |
a8332379 | 25 | * is properly called when the first series is hidden (setVisibility = false) |
3447a945 RK |
26 | * |
27 | */ | |
28 | CallbackTestCase.prototype.testHighlightCallbackIsCalled = function() { | |
29 | var h_row; | |
30 | var h_pts; | |
31 | ||
32 | var highlightCallback = function(e, x, pts, row) { | |
33 | h_row = row; | |
34 | h_pts = pts; | |
35 | }; | |
1c6b239c | 36 | |
3447a945 RK |
37 | var graph = document.getElementById("graph"); |
38 | var g = new Dygraph(graph, data, | |
39 | { | |
40 | width: 100, | |
41 | height : 100, | |
42 | visibility: [false, true, true], | |
43 | highlightCallback : highlightCallback, | |
44 | }); | |
45 | ||
46 | DygraphOps.dispatchMouseMove(g, 13, 10); | |
47 | ||
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); | |
52 | }; | |
a8332379 RK |
53 | |
54 | ||
55 | /** | |
56 | * Test that drawPointCallback isn't called when drawPoints is false | |
57 | */ | |
58 | CallbackTestCase.prototype.testDrawPointCallback_disabled = function() { | |
59 | var called = false; | |
60 | ||
61 | var callback = function() { | |
62 | called = true; | |
63 | }; | |
64 | ||
65 | var graph = document.getElementById("graph"); | |
66 | var g = new Dygraph(graph, data, { | |
67 | drawPointCallback : callback, | |
68 | }); | |
69 | ||
70 | assertFalse(called); | |
71 | }; | |
72 | ||
73 | /** | |
74 | * Test that drawPointCallback is called when drawPoints is true | |
75 | */ | |
76 | CallbackTestCase.prototype.testDrawPointCallback_enabled = function() { | |
77 | var called = false; | |
78 | ||
79 | var callback = function() { | |
80 | called = true; | |
81 | }; | |
82 | ||
83 | var graph = document.getElementById("graph"); | |
84 | var g = new Dygraph(graph, data, { | |
85 | drawPoints : true, | |
86 | drawPointCallback : callback | |
87 | }); | |
88 | ||
89 | assertTrue(called); | |
90 | }; | |
91 | // TODO * @fileoverview Test cases for drawPointCallback and drawHighlightCallback |