Skip to content

Commit 57cec8c

Browse files
committed
PR feedback - cover the other gl2d plot types - other plot type tests
1 parent 2e54a99 commit 57cec8c

File tree

1 file changed

+158
-0
lines changed

1 file changed

+158
-0
lines changed

test/jasmine/tests/gl2d_click_test.js

+158
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,79 @@ describe('Test hover and click interactions', function() {
1717
if(!hasWebGLSupport('gl2d_click_test')) return;
1818

1919
var mock = require('@mocks/gl2d_14.json');
20+
var mock2 = require('@mocks/gl2d_pointcloud-basic.json');
21+
var mock3 = {
22+
'data': [
23+
{
24+
'type': 'contourgl',
25+
'z': [
26+
[
27+
10,
28+
10.625,
29+
12.5,
30+
15.625,
31+
20
32+
],
33+
[
34+
5.625,
35+
6.25,
36+
8.125,
37+
11.25,
38+
15.625
39+
],
40+
[
41+
2.5,
42+
3.125,
43+
5,
44+
8.125,
45+
12.5
46+
],
47+
[
48+
0.625,
49+
1.25,
50+
3.125,
51+
6.25,
52+
10.625
53+
],
54+
[
55+
0,
56+
0.625,
57+
2.5,
58+
5.625,
59+
10
60+
]
61+
],
62+
'colorscale': 'Jet',
63+
'contours': {
64+
'start': 2,
65+
'end': 10,
66+
'size': 1
67+
},
68+
'uid': 'ad5624',
69+
'zmin': 0,
70+
'zmax': 20
71+
}
72+
],
73+
'layout': {
74+
'xaxis': {
75+
'range': [
76+
0,
77+
4
78+
],
79+
'autorange': true
80+
},
81+
'yaxis': {
82+
'range': [
83+
0,
84+
4
85+
],
86+
'autorange': true
87+
},
88+
'height': 450,
89+
'width': 1000,
90+
'autosize': true
91+
}
92+
};
2093

2194
var mockCopy, gd;
2295

@@ -183,6 +256,91 @@ describe('Test hover and click interactions', function() {
183256

184257
});
185258

259+
describe('hover event is fired for other gl2d plot types', function() {
260+
var futureData;
261+
262+
it('pointcloud', function(done) {
263+
264+
var modifiedMockCopy = Lib.extendDeep({}, mock2);
265+
266+
Plotly.plot(gd, modifiedMockCopy.data, modifiedMockCopy.layout)
267+
268+
.then(new Promise(function() {
269+
270+
gd.on('plotly_hover', function(data) {
271+
futureData = data;
272+
});
273+
274+
hover(540, 150);
275+
276+
window.setTimeout(function() {
277+
278+
expect(futureData.points.length).toEqual(1);
279+
280+
var pt = futureData.points[0];
281+
282+
expect(Object.keys(pt)).toEqual([
283+
'x', 'y', 'curveNumber', 'pointNumber', 'data', 'fullData', 'xaxis', 'yaxis'
284+
]);
285+
286+
expect(pt.x).toEqual(4.5);
287+
expect(pt.y).toEqual(9);
288+
expect(pt.curveNumber).toEqual(2);
289+
expect(pt.pointNumber).toEqual(1);
290+
expect(pt.fullData.length).toEqual(3);
291+
expect(typeof pt.data.uid).toEqual('string');
292+
expect(pt.xaxis.domain.length).toEqual(2);
293+
expect(pt.yaxis.domain.length).toEqual(2);
294+
295+
done();
296+
}, 350);
297+
}));
298+
299+
300+
});
301+
302+
it('heatmapgl', function(done) {
303+
304+
var modifiedMockCopy = Lib.extendDeep({}, mock3);
305+
modifiedMockCopy.data[0].type = 'heatmapgl';
306+
307+
Plotly.plot(gd, modifiedMockCopy.data, modifiedMockCopy.layout)
308+
309+
.then(new Promise(function() {
310+
311+
gd.on('plotly_hover', function(data) {
312+
futureData = data;
313+
});
314+
315+
hover(540, 150);
316+
317+
window.setTimeout(function() {
318+
319+
expect(futureData.points.length).toEqual(1);
320+
321+
var pt = futureData.points[0];
322+
323+
expect(Object.keys(pt)).toEqual([
324+
'x', 'y', 'curveNumber', 'pointNumber', 'data', 'fullData', 'xaxis', 'yaxis'
325+
]);
326+
327+
expect(pt.x).toEqual(2);
328+
expect(pt.y).toEqual(3);
329+
expect(pt.curveNumber).toEqual(0);
330+
expect(pt.pointNumber).toEqual([2, 3, 17]);
331+
expect(pt.fullData.length).toEqual(1);
332+
expect(typeof pt.data.uid).toEqual('string');
333+
expect(pt.xaxis.domain.length).toEqual(2);
334+
expect(pt.yaxis.domain.length).toEqual(2);
335+
336+
done();
337+
}, 350);
338+
}));
339+
340+
341+
});
342+
});
343+
186344
describe('click event is fired on click', function() {
187345
var futureData;
188346

0 commit comments

Comments
 (0)