diff --git a/rendering/cases/single-layer/main.js b/rendering/cases/single-layer/main.js index cd9d141113..c1fcec8fe5 100644 --- a/rendering/cases/single-layer/main.js +++ b/rendering/cases/single-layer/main.js @@ -18,4 +18,4 @@ new Map({ }) }); -render('A single layer with a XZY source'); +render({message: 'A single layer with a XZY source'}); diff --git a/rendering/cases/text-style/expected.png b/rendering/cases/text-style/expected.png index 1d7e586f5a..e2eade5078 100644 Binary files a/rendering/cases/text-style/expected.png and b/rendering/cases/text-style/expected.png differ diff --git a/rendering/cases/text-style/main.js b/rendering/cases/text-style/main.js index fc66fdfed9..bd3e688e62 100644 --- a/rendering/cases/text-style/main.js +++ b/rendering/cases/text-style/main.js @@ -120,4 +120,4 @@ new Map({ }) }); -render(); +render({tolerance: 0.05}); diff --git a/rendering/test.js b/rendering/test.js index 6983f1bed5..d267bdc99a 100755 --- a/rendering/test.js +++ b/rendering/test.js @@ -154,17 +154,17 @@ async function exposeRender(page) { async function renderPage(page, entry, options) { const renderCalled = new Promise(resolve => { - handleRender = (message) => { + handleRender = (config) => { handleRender = null; - resolve(message); + resolve(config || {}); }; }); options.log.debug('navigating', entry); await page.goto(`http://${options.host}:${options.port}${getHref(entry)}`, {waitUntil: 'networkidle0'}); - const message = await renderCalled; + const config = await renderCalled; options.log.debug('screenshot', entry); await page.screenshot({path: getActualScreenshotPath(entry)}); - return message; + return config; } async function touch(filepath) { @@ -182,8 +182,9 @@ async function copyActualToExpected(entry) { async function renderEach(page, entries, options) { let fail = false; for (const entry of entries) { - let message = await renderPage(page, entry, options); - message = message !== undefined ? message : entry; + const config = await renderPage(page, entry, options); + const message = config.message !== undefined ? config.message : entry; + const tolerance = config.tolerance !== undefined ? config.tolerance : 0; if (options.fix) { await copyActualToExpected(entry); continue; @@ -194,7 +195,7 @@ async function renderEach(page, entries, options) { fail = true; continue; } - if (mismatch > 0) { + if (mismatch > tolerance) { options.log.error(`checking '${message}': mismatch ${mismatch.toFixed(3)}`); fail = true; } else {