Skip to content

Commit 626c8d4

Browse files
committed
fix(webgl): add osm layer context lost test
1 parent e5c3cc8 commit 626c8d4

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

tests/gl-cases/osmLayer.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,26 @@ describe('osmLayer', function () {
2222
imageTest.imageTest('osmLayerVgl', null, 0.0015, done, myMap.onIdle, 0, 2);
2323
});
2424

25+
it('lose context and recover', function (done) {
26+
myMap = common.createOsmMap({center: {x: -78, y: 21}}, {
27+
renderer: 'webgl',
28+
attribution: '&copy; <a href="http://some-unvisited-domain.org">OpenStreetMap</a> contributors'
29+
});
30+
myMap.draw();
31+
myMap.center({x: 60, y: 20}).zoom(3);
32+
const gl = myMap.node().find('canvas')[0].getContext('webgl');
33+
const ext = gl.getExtension('WEBGL_lose_context');
34+
// we must wait until the context is available and then until it is lost
35+
window.setTimeout(() => {
36+
ext.loseContext();
37+
window.setTimeout(() => {
38+
ext.restoreContext();
39+
myMap.center({x: 0, y: 0}).zoom(2.5);
40+
imageTest.imageTest('osmLayerVgl', null, 0.0015, done, myMap.onIdle, 0, 2);
41+
}, 10);
42+
}, 10);
43+
});
44+
2545
it('canvas renderer', function (done) {
2646
myMap = common.createOsmMap({}, {
2747
renderer: 'canvas',

0 commit comments

Comments
 (0)