Named exports from ol/render/canvas
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import {listen, unlisten} from '../../../../../src/ol/events.js';
|
||||
import {clear} from '../../../../../src/ol/obj.js';
|
||||
import _ol_render_canvas_ from '../../../../../src/ol/render/canvas.js';
|
||||
import * as render from '../../../../../src/ol/render/canvas.js';
|
||||
|
||||
|
||||
describe('ol.render.canvas', function() {
|
||||
@@ -13,71 +13,65 @@ describe('ol.render.canvas', function() {
|
||||
describe('ol.render.canvas.checkFont()', function() {
|
||||
|
||||
beforeEach(function() {
|
||||
clear(_ol_render_canvas_.checkedFonts_);
|
||||
_ol_render_canvas_.getMeasureContext();
|
||||
_ol_render_canvas_.measureTextHeight('12px sans-serif');
|
||||
clear(render.checkedFonts);
|
||||
render.measureTextHeight('12px sans-serif');
|
||||
});
|
||||
|
||||
const checkFont = _ol_render_canvas_.checkFont;
|
||||
const retries = 60;
|
||||
|
||||
it('does not clear label cache and measurements for unavailable fonts', function(done) {
|
||||
this.timeout(3000);
|
||||
const spy = sinon.spy();
|
||||
listen(_ol_render_canvas_.labelCache, 'clear', spy);
|
||||
listen(render.labelCache, 'clear', spy);
|
||||
const interval = setInterval(function() {
|
||||
if (_ol_render_canvas_.checkedFonts_['foo'] == retries && _ol_render_canvas_.checkedFonts_['sans-serif'] == retries) {
|
||||
if (render.checkedFonts['foo'] == retries && render.checkedFonts['sans-serif'] == retries) {
|
||||
clearInterval(interval);
|
||||
unlisten(_ol_render_canvas_.labelCache, 'clear', spy);
|
||||
unlisten(render.labelCache, 'clear', spy);
|
||||
expect(spy.callCount).to.be(0);
|
||||
expect(_ol_render_canvas_.measureContext_).to.not.be(null);
|
||||
expect(_ol_render_canvas_.textHeights_).to.not.eql({});
|
||||
expect(render.textHeights).to.not.eql({});
|
||||
done();
|
||||
}
|
||||
}, 32);
|
||||
checkFont('12px foo,sans-serif');
|
||||
render.checkFont('12px foo,sans-serif');
|
||||
});
|
||||
|
||||
it('does not clear label cache and measurements for available fonts', function(done) {
|
||||
const spy = sinon.spy();
|
||||
listen(_ol_render_canvas_.labelCache, 'clear', spy);
|
||||
listen(render.labelCache, 'clear', spy);
|
||||
const interval = setInterval(function() {
|
||||
if (_ol_render_canvas_.checkedFonts_['sans-serif'] == retries) {
|
||||
if (render.checkedFonts['sans-serif'] == retries) {
|
||||
clearInterval(interval);
|
||||
unlisten(_ol_render_canvas_.labelCache, 'clear', spy);
|
||||
unlisten(render.labelCache, 'clear', spy);
|
||||
expect(spy.callCount).to.be(0);
|
||||
expect(_ol_render_canvas_.measureContext_).to.not.be(null);
|
||||
expect(_ol_render_canvas_.textHeights_).to.not.eql({});
|
||||
expect(render.textHeights).to.not.eql({});
|
||||
done();
|
||||
}
|
||||
}, 32);
|
||||
checkFont('12px sans-serif');
|
||||
render.checkFont('12px sans-serif');
|
||||
});
|
||||
|
||||
it('does not clear label cache and measurements for the \'monospace\' font', function(done) {
|
||||
const spy = sinon.spy();
|
||||
listen(_ol_render_canvas_.labelCache, 'clear', spy);
|
||||
listen(render.labelCache, 'clear', spy);
|
||||
const interval = setInterval(function() {
|
||||
if (_ol_render_canvas_.checkedFonts_['monospace'] == retries) {
|
||||
if (render.checkedFonts['monospace'] == retries) {
|
||||
clearInterval(interval);
|
||||
unlisten(_ol_render_canvas_.labelCache, 'clear', spy);
|
||||
unlisten(render.labelCache, 'clear', spy);
|
||||
expect(spy.callCount).to.be(0);
|
||||
expect(_ol_render_canvas_.measureContext_).to.not.be(null);
|
||||
expect(_ol_render_canvas_.textHeights_).to.not.eql({});
|
||||
expect(render.textHeights).to.not.eql({});
|
||||
done();
|
||||
}
|
||||
}, 32);
|
||||
checkFont('12px monospace');
|
||||
render.checkFont('12px monospace');
|
||||
});
|
||||
|
||||
it('clears label cache and measurements for fonts that become available', function(done) {
|
||||
head.appendChild(font);
|
||||
listen(_ol_render_canvas_.labelCache, 'clear', function() {
|
||||
expect(_ol_render_canvas_.measureContext_).to.be(null);
|
||||
expect(_ol_render_canvas_.textHeights_).to.eql({});
|
||||
listen(render.labelCache, 'clear', function() {
|
||||
expect(render.textHeights).to.eql({});
|
||||
done();
|
||||
});
|
||||
checkFont('12px Abel');
|
||||
render.checkFont('12px Abel');
|
||||
});
|
||||
|
||||
});
|
||||
@@ -89,7 +83,7 @@ describe('ol.render.canvas', function() {
|
||||
translate: sinon.spy(),
|
||||
rotate: sinon.spy()
|
||||
};
|
||||
_ol_render_canvas_.rotateAtOffset(context, Math.PI, 10, 10);
|
||||
render.rotateAtOffset(context, Math.PI, 10, 10);
|
||||
expect(context.translate.callCount).to.be(2);
|
||||
expect(context.translate.firstCall.args).to.eql([10, 10]);
|
||||
expect(context.translate.secondCall.args).to.eql([-10, -10]);
|
||||
|
||||
@@ -7,7 +7,7 @@ import Point from '../../../../../src/ol/geom/Point.js';
|
||||
import VectorLayer from '../../../../../src/ol/layer/Vector.js';
|
||||
import {clear} from '../../../../../src/ol/obj.js';
|
||||
import {get as getProjection} from '../../../../../src/ol/proj.js';
|
||||
import _ol_render_canvas_ from '../../../../../src/ol/render/canvas.js';
|
||||
import {checkedFonts} from '../../../../../src/ol/render/canvas.js';
|
||||
import CanvasVectorLayerRenderer from '../../../../../src/ol/renderer/canvas/VectorLayer.js';
|
||||
import VectorSource from '../../../../../src/ol/source/Vector.js';
|
||||
import Style from '../../../../../src/ol/style/Style.js';
|
||||
@@ -85,7 +85,7 @@ describe('ol.renderer.canvas.VectorLayer', function() {
|
||||
});
|
||||
|
||||
it('does not re-render for unavailable fonts', function(done) {
|
||||
clear(_ol_render_canvas_.checkedFonts_);
|
||||
clear(checkedFonts);
|
||||
const map = new Map({
|
||||
view: new View({
|
||||
center: [0, 0],
|
||||
@@ -116,7 +116,7 @@ describe('ol.renderer.canvas.VectorLayer', function() {
|
||||
});
|
||||
|
||||
it('does not re-render for available fonts', function(done) {
|
||||
clear(_ol_render_canvas_.checkedFonts_);
|
||||
clear(checkedFonts);
|
||||
const map = new Map({
|
||||
view: new View({
|
||||
center: [0, 0],
|
||||
@@ -147,7 +147,7 @@ describe('ol.renderer.canvas.VectorLayer', function() {
|
||||
});
|
||||
|
||||
it('re-renders for fonts that become available', function(done) {
|
||||
clear(_ol_render_canvas_.checkedFonts_);
|
||||
clear(checkedFonts);
|
||||
head.appendChild(font);
|
||||
const map = new Map({
|
||||
view: new View({
|
||||
|
||||
@@ -12,7 +12,7 @@ import Point from '../../../../../src/ol/geom/Point.js';
|
||||
import VectorTileLayer from '../../../../../src/ol/layer/VectorTile.js';
|
||||
import {get as getProjection, fromLonLat} from '../../../../../src/ol/proj.js';
|
||||
import Projection from '../../../../../src/ol/proj/Projection.js';
|
||||
import _ol_render_canvas_ from '../../../../../src/ol/render/canvas.js';
|
||||
import {checkedFonts} from '../../../../../src/ol/render/canvas.js';
|
||||
import RenderFeature from '../../../../../src/ol/render/Feature.js';
|
||||
import CanvasVectorTileLayerRenderer from '../../../../../src/ol/renderer/canvas/VectorTileLayer.js';
|
||||
import VectorTileSource from '../../../../../src/ol/source/VectorTile.js';
|
||||
@@ -154,7 +154,7 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
|
||||
|
||||
it('does not re-render for unavailable fonts', function(done) {
|
||||
map.renderSync();
|
||||
clear(_ol_render_canvas_.checkedFonts_);
|
||||
clear(checkedFonts);
|
||||
layerStyle[0].getText().setFont('12px "Unavailable font",sans-serif');
|
||||
layer.changed();
|
||||
const revision = layer.getRevision();
|
||||
@@ -166,7 +166,7 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
|
||||
|
||||
it('does not re-render for available fonts', function(done) {
|
||||
map.renderSync();
|
||||
clear(_ol_render_canvas_.checkedFonts_);
|
||||
clear(checkedFonts);
|
||||
layerStyle[0].getText().setFont('12px sans-serif');
|
||||
layer.changed();
|
||||
const revision = layer.getRevision();
|
||||
@@ -178,7 +178,7 @@ describe('ol.renderer.canvas.VectorTileLayer', function() {
|
||||
|
||||
it('re-renders for fonts that become available', function(done) {
|
||||
map.renderSync();
|
||||
clear(_ol_render_canvas_.checkedFonts_);
|
||||
clear(checkedFonts);
|
||||
head.appendChild(font);
|
||||
layerStyle[0].getText().setFont('12px "Dancing Script",sans-serif');
|
||||
layer.changed();
|
||||
|
||||
Reference in New Issue
Block a user