mirror of
https://github.com/danbulant/pngjs
synced 2026-06-19 22:41:58 +00:00
Pngjs:Replace phantomjs dependency with chromium puppeteer (#135)
* pngjs: Replace phantomjs dependency with chromium puppeteer Signed-off-by: ossdev <ossdev@puresoftware.com> * pngjs: Replace phantomjs dependency with chromium puppeteer Signed-off-by: ossdev <ossdev@puresoftware.com> * Removed Node-v6 and added Node-v12 support from travis
This commit is contained in:
parent
257a4c972d
commit
90e00c07fd
6 changed files with 768 additions and 1648 deletions
|
|
@ -2,7 +2,7 @@ language: node_js
|
|||
after_success:
|
||||
- if [ "$TRAVIS_NODE_VERSION" = "10" ]; then npm run coverage && npm i coveralls@2 && npm run coveralls; fi
|
||||
node_js:
|
||||
- "6"
|
||||
- "8"
|
||||
- "10"
|
||||
- "11"
|
||||
- "12"
|
||||
|
|
|
|||
2286
package-lock.json
generated
2286
package-lock.json
generated
File diff suppressed because it is too large
Load diff
|
|
@ -62,7 +62,7 @@
|
|||
"connect": "^3.4.0",
|
||||
"eslint": "^5.15.2",
|
||||
"istanbul": "^0.4.4",
|
||||
"phantomjs-prebuilt": "^2.1.7",
|
||||
"puppeteer": "1.20.0",
|
||||
"serve-static": "^1.10.0",
|
||||
"tap-dot": "^2.0.0",
|
||||
"tape": "^4.0.2"
|
||||
|
|
|
|||
|
|
@ -259,7 +259,7 @@
|
|||
|
||||
var tolerance;
|
||||
if (inImage.src.match(/16\.png/)) {
|
||||
tolerance = 3; // phantomjs uses a different scaling method.
|
||||
tolerance = 2; // phantomjs uses a different scaling method.
|
||||
// In chrome with gamma correction this can be 2.
|
||||
} else {
|
||||
tolerance = 0;
|
||||
|
|
|
|||
|
|
@ -1,58 +0,0 @@
|
|||
/*global phantom:true*/
|
||||
|
||||
'use strict';
|
||||
|
||||
var page = require('webpage').create();
|
||||
|
||||
var last = new Date();
|
||||
var timeout = 10000;
|
||||
|
||||
setInterval(function () {
|
||||
var results = page.evaluate(function () {
|
||||
if (window.isFinished && window.isFinished()) {
|
||||
return window.results;
|
||||
}
|
||||
});
|
||||
|
||||
if (results) {
|
||||
var success = true;
|
||||
var successes = [],
|
||||
failures = [];
|
||||
for (var i = 0; i < results.length; i++) {
|
||||
var result = results[i];
|
||||
if (result.success) {
|
||||
successes.push(result.name);
|
||||
} else {
|
||||
failures.push(result.name);
|
||||
}
|
||||
success = success && result.success;
|
||||
}
|
||||
console.log("Success:", successes.join(", "));
|
||||
if (failures.length) {
|
||||
console.log("Failure:", failures.join(", "));
|
||||
}
|
||||
|
||||
phantom.exit(success ? 0 : 1);
|
||||
return;
|
||||
}
|
||||
|
||||
if (new Date() - last > timeout) {
|
||||
phantom.exit();
|
||||
}
|
||||
}, 100);
|
||||
|
||||
page.onConsoleMessage = function (msg, lineNum, sourceId) {
|
||||
//console.log('CONSOLE: ' + msg);
|
||||
};
|
||||
|
||||
page.onError = function (msg, trace) {
|
||||
console.log('error.onError', msg, trace);
|
||||
phantom.exit();
|
||||
};
|
||||
|
||||
phantom.onError = function (msg, trace) {
|
||||
console.log('error.onError', msg, trace);
|
||||
phantom.exit();
|
||||
};
|
||||
|
||||
page.open("http://localhost:8000");
|
||||
|
|
@ -1,24 +1,42 @@
|
|||
require("./http-server");
|
||||
|
||||
var path = require('path');
|
||||
var childProcess = require('child_process');
|
||||
var phantomjs = require('phantomjs-prebuilt');
|
||||
var binPath = phantomjs.path;
|
||||
|
||||
var childArgs = [
|
||||
path.join(__dirname, 'phantom-compare.js')
|
||||
];
|
||||
|
||||
try {
|
||||
console.log("Comparing in PhantomJS");
|
||||
|
||||
childProcess.execFile(binPath, childArgs, function (err, stdout, stderr) {
|
||||
|
||||
// handle results
|
||||
console.log("Comparison Test Results:");
|
||||
console.log(stdout);
|
||||
process.exit(err ? 1 : 0);
|
||||
});
|
||||
} catch (e) {
|
||||
console.log("Error starting phantomjs");
|
||||
}
|
||||
require('./http-server')
|
||||
const puppeteer = require('puppeteer');
|
||||
const URL = 'http://localhost:8000';
|
||||
|
||||
puppeteer.launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'] }).then(async browser => {
|
||||
const page = await browser.newPage();
|
||||
await page.goto(URL, {waitUntil: 'networkidle0'});
|
||||
const results = await page.evaluate(() => {
|
||||
try {
|
||||
if (window.isFinished && window.isFinished()) {
|
||||
return window.results;
|
||||
}
|
||||
} catch(err) {
|
||||
reject(err.toString());
|
||||
console.log("Failed", err);
|
||||
}
|
||||
});
|
||||
console.log("Comparing in Chrome");
|
||||
console.log("Comparison Test Results:");
|
||||
await browser.close();
|
||||
if (results) {
|
||||
var success = true;
|
||||
var successes = [],failures = [];
|
||||
for (var i = 0; i < results.length; i++) {
|
||||
var result = results[i];
|
||||
if (result.success) {
|
||||
successes.push(result.name);
|
||||
} else {
|
||||
failures.push(result.name);
|
||||
}
|
||||
success = success && result.success;
|
||||
}
|
||||
console.log("Success:", successes.join(", "));
|
||||
if (failures.length) {
|
||||
console.log("Failure:", failures.join(", "));
|
||||
}
|
||||
}
|
||||
process.exit();
|
||||
}).catch(function(error) {
|
||||
console.error(error);
|
||||
process.exit();
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue