Skip to content

Commit 3a38d73

Browse files
committed
test 'pick' canvas non-events on gl2d graphs
1 parent 905956a commit 3a38d73

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

test/jasmine/tests/gl2d_plot_interact_test.js

+20-8
Original file line numberDiff line numberDiff line change
@@ -218,14 +218,17 @@ describe('Test gl plot side effects', function() {
218218
it('@gl should fire *plotly_webglcontextlost* when on webgl context lost', function(done) {
219219
var _mock = Lib.extendDeep({}, require('@mocks/gl2d_12.json'));
220220

221+
function _trigger(name) {
222+
var ev = new window.WebGLContextEvent('webglcontextlost');
223+
var canvas = gd.querySelector('.gl-canvas-' + name);
224+
canvas.dispatchEvent(ev);
225+
}
226+
221227
Plotly.plot(gd, _mock).then(function() {
222228
return new Promise(function(resolve, reject) {
223229
gd.once('plotly_webglcontextlost', resolve);
224230
setTimeout(reject, 10);
225-
226-
var ev = new window.WebGLContextEvent('webglcontextlost');
227-
var canvas = gd.querySelector('.gl-canvas-context');
228-
canvas.dispatchEvent(ev);
231+
_trigger('context');
229232
});
230233
})
231234
.then(function(eventData) {
@@ -236,16 +239,25 @@ describe('Test gl plot side effects', function() {
236239
return new Promise(function(resolve, reject) {
237240
gd.once('plotly_webglcontextlost', resolve);
238241
setTimeout(reject, 10);
239-
240-
var ev = new window.WebGLContextEvent('webglcontextlost');
241-
var canvas = gd.querySelector('.gl-canvas-focus');
242-
canvas.dispatchEvent(ev);
242+
_trigger('focus');
243243
});
244244
})
245245
.then(function(eventData) {
246246
expect((eventData || {}).event).toBeDefined();
247247
expect((eventData || {}).layer).toBe('focusLayer');
248248
})
249+
.then(function() {
250+
return new Promise(function(resolve, reject) {
251+
gd.once('plotly_webglcontextlost', reject);
252+
setTimeout(resolve, 10);
253+
_trigger('pick');
254+
});
255+
})
256+
.then(function(eventData) {
257+
// should add event listener on pick canvas which
258+
// isn't used for scattergl traces
259+
expect(eventData).toBeUndefined();
260+
})
249261
.catch(failTest)
250262
.then(done);
251263
});

0 commit comments

Comments
 (0)