mirror of
https://github.com/danbulant/pngjs
synced 2026-07-06 19:50:36 +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:
|
after_success:
|
||||||
- if [ "$TRAVIS_NODE_VERSION" = "10" ]; then npm run coverage && npm i coveralls@2 && npm run coveralls; fi
|
- if [ "$TRAVIS_NODE_VERSION" = "10" ]; then npm run coverage && npm i coveralls@2 && npm run coveralls; fi
|
||||||
node_js:
|
node_js:
|
||||||
- "6"
|
|
||||||
- "8"
|
- "8"
|
||||||
- "10"
|
- "10"
|
||||||
- "11"
|
- "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",
|
"connect": "^3.4.0",
|
||||||
"eslint": "^5.15.2",
|
"eslint": "^5.15.2",
|
||||||
"istanbul": "^0.4.4",
|
"istanbul": "^0.4.4",
|
||||||
"phantomjs-prebuilt": "^2.1.7",
|
"puppeteer": "1.20.0",
|
||||||
"serve-static": "^1.10.0",
|
"serve-static": "^1.10.0",
|
||||||
"tap-dot": "^2.0.0",
|
"tap-dot": "^2.0.0",
|
||||||
"tape": "^4.0.2"
|
"tape": "^4.0.2"
|
||||||
|
|
|
||||||
|
|
@ -259,7 +259,7 @@
|
||||||
|
|
||||||
var tolerance;
|
var tolerance;
|
||||||
if (inImage.src.match(/16\.png/)) {
|
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.
|
// In chrome with gamma correction this can be 2.
|
||||||
} else {
|
} else {
|
||||||
tolerance = 0;
|
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");
|
require('./http-server')
|
||||||
|
const puppeteer = require('puppeteer');
|
||||||
var path = require('path');
|
const URL = 'http://localhost:8000';
|
||||||
var childProcess = require('child_process');
|
|
||||||
var phantomjs = require('phantomjs-prebuilt');
|
puppeteer.launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'] }).then(async browser => {
|
||||||
var binPath = phantomjs.path;
|
const page = await browser.newPage();
|
||||||
|
await page.goto(URL, {waitUntil: 'networkidle0'});
|
||||||
var childArgs = [
|
const results = await page.evaluate(() => {
|
||||||
path.join(__dirname, 'phantom-compare.js')
|
try {
|
||||||
];
|
if (window.isFinished && window.isFinished()) {
|
||||||
|
return window.results;
|
||||||
try {
|
}
|
||||||
console.log("Comparing in PhantomJS");
|
} catch(err) {
|
||||||
|
reject(err.toString());
|
||||||
childProcess.execFile(binPath, childArgs, function (err, stdout, stderr) {
|
console.log("Failed", err);
|
||||||
|
}
|
||||||
// handle results
|
});
|
||||||
console.log("Comparison Test Results:");
|
console.log("Comparing in Chrome");
|
||||||
console.log(stdout);
|
console.log("Comparison Test Results:");
|
||||||
process.exit(err ? 1 : 0);
|
await browser.close();
|
||||||
});
|
if (results) {
|
||||||
} catch (e) {
|
var success = true;
|
||||||
console.log("Error starting phantomjs");
|
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