Use arrow functions instead of self variables in test/driver.js

This commit is contained in:
Tim van der Meij 2021-12-04 15:45:47 +01:00
parent 1d1f713bfc
commit 13786ef806
No known key found for this signature in database
GPG Key ID: 8C3FD2925A5F2762

View File

@ -417,9 +417,8 @@ class Driver {
} }
run() { run() {
var self = this; window.onerror = (message, source, line, column, error) => {
window.onerror = function (message, source, line, column, error) { this._info(
self._info(
"Error: " + "Error: " +
message + message +
" Script: " + " Script: " +
@ -438,23 +437,23 @@ class Driver {
var r = new XMLHttpRequest(); var r = new XMLHttpRequest();
r.open("GET", this.manifestFile, false); r.open("GET", this.manifestFile, false);
r.onreadystatechange = function () { r.onreadystatechange = () => {
if (r.readyState === 4) { if (r.readyState === 4) {
self._log("done\n"); this._log("done\n");
self.manifest = JSON.parse(r.responseText); this.manifest = JSON.parse(r.responseText);
if (self.testFilter?.length || self.xfaOnly) { if (this.testFilter?.length || this.xfaOnly) {
self.manifest = self.manifest.filter(function (item) { this.manifest = this.manifest.filter(item => {
if (self.testFilter.includes(item.id)) { if (this.testFilter.includes(item.id)) {
return true; return true;
} }
if (self.xfaOnly && item.enableXfa) { if (this.xfaOnly && item.enableXfa) {
return true; return true;
} }
return false; return false;
}); });
} }
self.currentTask = 0; this.currentTask = 0;
self._nextTask(); this._nextTask();
} }
}; };
if (this.delay > 0) { if (this.delay > 0) {
@ -624,18 +623,17 @@ class Driver {
} }
_nextPage(task, loadError) { _nextPage(task, loadError) {
var self = this;
var failure = loadError || ""; var failure = loadError || "";
var ctx; var ctx;
if (!task.pdfDoc) { if (!task.pdfDoc) {
var dataUrl = this.canvas.toDataURL("image/png"); var dataUrl = this.canvas.toDataURL("image/png");
this._sendResult(dataUrl, task, failure, function () { this._sendResult(dataUrl, task, failure, () => {
self._log( this._log(
"done" + (failure ? " (failed !: " + failure + ")" : "") + "\n" "done" + (failure ? " (failed !: " + failure + ")" : "") + "\n"
); );
self.currentTask++; this.currentTask++;
self._nextTask(); this._nextTask();
}); });
return; return;
} }
@ -668,13 +666,13 @@ class Driver {
this.canvas.mozOpaque = true; this.canvas.mozOpaque = true;
ctx = this.canvas.getContext("2d", { alpha: false }); ctx = this.canvas.getContext("2d", { alpha: false });
task.pdfDoc.getPage(task.pageNum).then( task.pdfDoc.getPage(task.pageNum).then(
function (page) { page => {
var viewport = page.getViewport({ var viewport = page.getViewport({
scale: PixelsPerInch.PDF_TO_CSS_UNITS, scale: PixelsPerInch.PDF_TO_CSS_UNITS,
}); });
self.canvas.width = viewport.width; this.canvas.width = viewport.width;
self.canvas.height = viewport.height; this.canvas.height = viewport.height;
self._clearCanvas(); this._clearCanvas();
// Initialize various `eq` test subtypes, see comment below. // Initialize various `eq` test subtypes, see comment below.
var renderAnnotations = false, var renderAnnotations = false,
@ -695,10 +693,10 @@ class Driver {
var initPromise; var initPromise;
if (task.type === "text") { if (task.type === "text") {
// Using a dummy canvas for PDF context drawing operations // Using a dummy canvas for PDF context drawing operations
textLayerCanvas = self.textLayerCanvas; textLayerCanvas = this.textLayerCanvas;
if (!textLayerCanvas) { if (!textLayerCanvas) {
textLayerCanvas = document.createElement("canvas"); textLayerCanvas = document.createElement("canvas");
self.textLayerCanvas = textLayerCanvas; this.textLayerCanvas = textLayerCanvas;
} }
textLayerCanvas.width = viewport.width; textLayerCanvas.width = viewport.width;
textLayerCanvas.height = viewport.height; textLayerCanvas.height = viewport.height;
@ -736,10 +734,10 @@ class Driver {
// Render the annotation layer if necessary. // Render the annotation layer if necessary.
if (renderAnnotations || renderForms || renderXfa) { if (renderAnnotations || renderForms || renderXfa) {
// Create a dummy canvas for the drawing operations. // Create a dummy canvas for the drawing operations.
annotationLayerCanvas = self.annotationLayerCanvas; annotationLayerCanvas = this.annotationLayerCanvas;
if (!annotationLayerCanvas) { if (!annotationLayerCanvas) {
annotationLayerCanvas = document.createElement("canvas"); annotationLayerCanvas = document.createElement("canvas");
self.annotationLayerCanvas = annotationLayerCanvas; this.annotationLayerCanvas = annotationLayerCanvas;
} }
annotationLayerCanvas.width = viewport.width; annotationLayerCanvas.width = viewport.width;
annotationLayerCanvas.height = viewport.height; annotationLayerCanvas.height = viewport.height;
@ -789,7 +787,7 @@ class Driver {
renderContext.intent = "print"; renderContext.intent = "print";
} }
var completeRender = function (error) { var completeRender = error => {
// if text layer is present, compose it on top of the page // if text layer is present, compose it on top of the page
if (textLayerCanvas) { if (textLayerCanvas) {
ctx.save(); ctx.save();
@ -808,7 +806,7 @@ class Driver {
task.stats = page.stats; task.stats = page.stats;
} }
page.cleanup(/* resetStats = */ true); page.cleanup(/* resetStats = */ true);
self._snapshot(task, error); this._snapshot(task, error);
}; };
initPromise initPromise
.then(function (data) { .then(function (data) {
@ -842,8 +840,8 @@ class Driver {
completeRender("render : " + error); completeRender("render : " + error);
}); });
}, },
function (error) { error => {
self._snapshot(task, "render : " + error); this._snapshot(task, "render : " + error);
} }
); );
} catch (e) { } catch (e) {
@ -860,16 +858,15 @@ class Driver {
} }
_snapshot(task, failure) { _snapshot(task, failure) {
var self = this;
this._log("Snapshotting... "); this._log("Snapshotting... ");
var dataUrl = this.canvas.toDataURL("image/png"); var dataUrl = this.canvas.toDataURL("image/png");
this._sendResult(dataUrl, task, failure, function () { this._sendResult(dataUrl, task, failure, () => {
self._log( this._log(
"done" + (failure ? " (failed !: " + failure + ")" : "") + "\n" "done" + (failure ? " (failed !: " + failure + ")" : "") + "\n"
); );
task.pageNum++; task.pageNum++;
self._nextPage(task); this._nextPage(task);
}); });
} }
@ -940,18 +937,17 @@ class Driver {
} }
_send(url, message, callback) { _send(url, message, callback) {
var self = this;
var r = new XMLHttpRequest(); var r = new XMLHttpRequest();
r.open("POST", url, true); r.open("POST", url, true);
r.setRequestHeader("Content-Type", "application/json"); r.setRequestHeader("Content-Type", "application/json");
r.onreadystatechange = function (e) { r.onreadystatechange = e => {
if (r.readyState === 4) { if (r.readyState === 4) {
self.inFlightRequests--; this.inFlightRequests--;
// Retry until successful // Retry until successful
if (r.status !== 200) { if (r.status !== 200) {
setTimeout(function () { setTimeout(() => {
self._send(url, message); this._send(url, message);
}); });
} }
if (callback) { if (callback) {