@@ -2191,18 +2191,17 @@ def run_browser(self, html_file, expected=None, message=None, timeout=None, extr
21912191 def make_reftest (self , expected , manually_trigger = False ):
21922192 # make sure the pngs used here have no color correction, using e.g.
21932193 # pngcrush -rem gAMA -rem cHRM -rem iCCP -rem sRGB infile outfile
2194- basename = os .path .basename (expected )
2195- if os .path .abspath (os .path .dirname (expected )) != self .get_dir ():
2196- shutil .copyfile (expected , self .in_dir (basename ))
21972194 reporting = read_file (test_file ('browser_reporting.js' ))
2195+ shutil .copyfile (expected , 'expected.png' )
21982196 create_file ('reftest.js' , '''
21992197 function doReftest() {
22002198 if (doReftest.done) return;
22012199 doReftest.done = true;
22022200 var img = new Image();
2203- img.onload = function() {
2204- assert(img.width == Module.canvas.width, 'Invalid width: ' + Module.canvas.width + ', should be ' + img.width);
2205- assert(img.height == Module.canvas.height, 'Invalid height: ' + Module.canvas.height + ', should be ' + img.height);
2201+ img.src = 'expected.png';
2202+ img.onload = () => {
2203+ assert(img.width == Module.canvas.width, `Invalid width: ${Module.canvas.width}, should be ${img.width}`);
2204+ assert(img.height == Module.canvas.height, `Invalid height: ${Module.canvas.height}, should be ${img.height}`);
22062205
22072206 var canvas = document.createElement('canvas');
22082207 canvas.width = img.width;
@@ -2213,7 +2212,7 @@ def make_reftest(self, expected, manually_trigger=False):
22132212
22142213 var actualUrl = Module.canvas.toDataURL();
22152214 var actualImage = new Image();
2216- actualImage.onload = function() {
2215+ actualImage.onload = () => {
22172216 /*
22182217 document.body.appendChild(img); // for comparisons
22192218 var div = document.createElement('div');
@@ -2242,7 +2241,7 @@ def make_reftest(self, expected, manually_trigger=False):
22422241 var wrong = Math.floor(total / (img.width*img.height*3)); // floor, to allow some margin of error for antialiasing
22432242 // If the main JS file is in a worker, or modularize, then we need to supply our own reporting logic.
22442243 if (typeof reportResultToServer === 'undefined') {
2245- (function() {
2244+ (() => {
22462245 %s
22472246 reportResultToServer(wrong);
22482247 })();
@@ -2252,7 +2251,6 @@ def make_reftest(self, expected, manually_trigger=False):
22522251 };
22532252 actualImage.src = actualUrl;
22542253 }
2255- img.src = '%s';
22562254 };
22572255
22582256 /** @suppress {uselessCode} */
@@ -2267,16 +2265,16 @@ def make_reftest(self, expected, manually_trigger=False):
22672265 // trigger reftest from RAF as well, needed for workers where there is no pre|postRun on the main thread
22682266 var realRAF = window.requestAnimationFrame;
22692267 /** @suppress{checkTypes} */
2270- window.requestAnimationFrame = function (func) {
2271- return realRAF(function() {
2268+ window.requestAnimationFrame = (func) => {
2269+ return realRAF(() => {
22722270 func();
22732271 realRAF(doReftest);
22742272 });
22752273 };
22762274
22772275 // trigger reftest from canvas render too, for workers not doing GL
22782276 var realWOM = worker.onmessage;
2279- worker.onmessage = function (event) {
2277+ worker.onmessage = (event) => {
22802278 realWOM(event);
22812279 if (event.data.target === 'canvas' && event.data.op === 'render') {
22822280 realRAF(doReftest);
@@ -2290,14 +2288,12 @@ def make_reftest(self, expected, manually_trigger=False):
22902288 // The user will call it.
22912289 // Add an event loop iteration to ensure rendering, so users don't need to bother.
22922290 var realDoReftest = doReftest;
2293- doReftest = function() {
2294- setTimeout(realDoReftest, 1);
2295- };
2291+ doReftest = () => setTimeout(realDoReftest, 1);
22962292 }
22972293 }
22982294
22992295 setupRefTest();
2300- ''' % (reporting , basename , int (manually_trigger )))
2296+ ''' % (reporting , int (manually_trigger )))
23012297
23022298 def compile_btest (self , filename , args , reporting = Reporting .FULL ):
23032299 # Inject support code for reporting results. This adds an include a header so testcases can
0 commit comments