Keep track of used labels

This commit is contained in:
ahocevar
2019-01-22 21:00:21 +01:00
parent ea45068335
commit 592b6cf362
11 changed files with 150 additions and 37 deletions
-11
View File
@@ -10,17 +10,6 @@ describe('ol.render.canvas', function() {
font.rel = 'stylesheet';
const head = document.getElementsByTagName('head')[0];
it('pruneLabelCache()', function() {
const highWaterMark = render.labelCache.highWaterMark;
render.labelCache.highWaterMark = 1;
render.labelCache.set('foo', document.createElement('canvas'));
render.labelCache.set('bar', document.createElement('canvas'));
render.pruneLabelCache();
expect(render.labelCache.getCount()).to.be(1);
render.labelCache.highWaterMark = highWaterMark;
render.labelCache.clear();
});
describe('ol.render.canvas.checkFont()', function() {
beforeEach(function() {
@@ -0,0 +1,27 @@
import LabelCache from '../../../../../src/ol/render/canvas/LabelCache';
describe('ol.render.canvas.LabelCache', function() {
it('#prune()', function() {
const labelCache = new LabelCache(1);
labelCache.set('key1', document.createElement('canvas'));
labelCache.set('key2', document.createElement('canvas'));
labelCache.prune();
expect(labelCache.getCount()).to.be(1);
});
it('#prune() leaves used labels untouched until consumer is released', function() {
const labelCache = new LabelCache(1);
labelCache.set('key1', document.createElement('canvas'));
labelCache.set('key2', document.createElement('canvas'));
const consumer = {};
labelCache.get('key1', consumer);
labelCache.get('key2', consumer);
labelCache.prune();
expect(labelCache.getCount()).to.be(2);
labelCache.release(consumer);
labelCache.prune();
expect(labelCache.getCount()).to.be(1);
});
});