Keep track of used labels
This commit is contained in:
@@ -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);
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user