77const path = require ( "path" ) ;
88const puppeteer = require ( 'puppeteer' ) ;
99
10+ const viewport = { width : 200 , height : 100 } ;
11+
1012const fileUrl = ( relPath ) => {
1113 return 'file://' + path . resolve ( process . cwd ( ) , relPath ) ;
1214} ;
1315
14- var dataUriForBase64PNG = ( pngBase64 ) => {
15- return "data:image/png;base64," + pngBase64 ;
16+ const screenshotToDataUri = ( screenshot ) => {
17+ return "data:image/png;base64," + screenshot . toString ( 'base64' ) ;
1618} ;
1719
20+ const sleep = async ( inMs ) => {
21+ await new Promise ( fulfill => setTimeout ( fulfill , inMs ) ) ;
22+ }
23+
1824const renderPage = async ( browser , url , successCallback ) => {
1925 const page = await browser . newPage ( ) ;
2026
@@ -26,31 +32,30 @@ const renderPage = async (browser, url, successCallback) => {
2632 page . on ( 'pageerror' , msg => {
2733 console . error ( msg ) ;
2834 } ) ;
29- await page . setViewport ( { width : 200 , height : 100 } ) ;
35+ await page . setViewport ( viewport ) ;
3036 await page . goto ( url ) ;
3137
32- await new Promise ( fulfill => setTimeout ( fulfill , 500 ) ) ;
38+ await sleep ( 500 ) ;
3339
3440 const screenshot = await page . screenshot ( ) ;
35- return dataUriForBase64PNG ( screenshot . toString ( 'base64' ) ) ;
41+ return screenshotToDataUri ( screenshot ) ;
3642} ;
3743
3844const runTest = async ( browser ) => {
3945 const imageUrl = await renderPage ( browser , fileUrl ( 'test/integrationTestPage.html' ) ) ;
4046 const targetImageUrl = await renderPage ( browser , fileUrl ( 'test/fixtures/testResult.png' ) ) ;
41- console . log ( 'imageUrl' , imageUrl ) ;
42- console . log ( 'targetImageUrl' , targetImageUrl ) ;
47+ console . log ( 'Rendered test page' , imageUrl ) ;
4348
4449 const imageDiffPage = await browser . newPage ( ) ;
50+ await imageDiffPage . setViewport ( viewport ) ;
4551 await imageDiffPage . goto ( fileUrl ( 'test/diffHelperPage.html' ) ) ;
4652
4753 const equal = await imageDiffPage . evaluate ( function ( url1 , url2 ) {
4854 return isEqual ( url1 , url2 , 5 ) ;
4955 } , imageUrl , targetImageUrl ) ;
5056
51- const screenshotTarget = 'build/rasterizeHtmlSmokeTestDiff.png' ;
52- console . log ( 'Writing diff to ' + screenshotTarget ) ;
53- await imageDiffPage . screenshot ( { path : screenshotTarget } ) ;
57+ const screenshot = await imageDiffPage . screenshot ( ) ;
58+ console . log ( 'Rendered diff' , screenshotToDataUri ( screenshot ) ) ;
5459
5560 return equal ;
5661} ;
0 commit comments