Merge pull request #7440 from ahocevar/font-load

Attempt to make font loading tests more stable
This commit is contained in:
Andreas Hocevar
2017-11-10 10:09:42 +01:00
committed by GitHub
2 changed files with 9 additions and 6 deletions

View File

@@ -105,7 +105,7 @@ ol.render.canvas.checkFont = (function() {
var labelCache = ol.render.canvas.labelCache;
var font = '32px monospace';
var text = 'wmytzilWMYTZIL@#/&?$%10';
var context, referenceWidth;
var context, interval, referenceWidth;
function isAvailable(fontFamily) {
if (!context) {
@@ -142,8 +142,9 @@ ol.render.canvas.checkFont = (function() {
}
}
}
if (!done) {
window.setTimeout(check, 32);
if (done) {
window.clearInterval(interval);
interval = undefined;
}
}
@@ -158,7 +159,9 @@ ol.render.canvas.checkFont = (function() {
checked[fontFamily] = 60;
if (!isAvailable(fontFamily)) {
checked[fontFamily] = 0;
window.setTimeout(check, 25);
if (interval === undefined) {
interval = window.setInterval(check, 32);
}
}
}
}

View File

@@ -6,7 +6,7 @@ goog.require('ol.render.canvas');
describe('ol.render.canvas', function() {
var font = document.createElement('link');
font.href = 'https://fonts.googleapis.com/css?family=Inconsolata';
font.href = 'https://fonts.googleapis.com/css?family=Abel&text=wmytzilWMYTZIL%40%23%2F%26%3F%24%2510';
font.rel = 'stylesheet';
var head = document.getElementsByTagName('head')[0];
@@ -55,7 +55,7 @@ describe('ol.render.canvas', function() {
head.appendChild(font);
var spy = sinon.spy();
ol.events.listen(ol.render.canvas.labelCache, 'clear', spy);
checkFont('12px Inconsolata');
checkFont('12px Abel');
setTimeout(function() {
ol.events.unlisten(ol.render.canvas.labelCache, 'clear', spy);
head.removeChild(font);