Codemirror: Replaced PhantomJS Dependency with Puppeteer

Signed-off-by: ossdev <ossdev@puresoftware.com>
This commit is contained in:
ossdev 2019-11-04 15:39:58 +05:30 committed by Marijn Haverbeke
parent 7b2121b432
commit 94b08d6fc9
4 changed files with 30 additions and 45 deletions

View File

@ -23,7 +23,7 @@
"devDependencies": {
"blint": "^1.1.0",
"node-static": "0.7.11",
"phantomjs-prebuilt": "^2.1.12",
"puppeteer": "^1.20.0",
"rollup": "^1.26.3",
"rollup-plugin-buble": "^0.19.8"
},

View File

@ -1,31 +0,0 @@
var page = require('webpage').create();
page.open("http://localhost:3000/test/index.html", function (status) {
if (status != "success") {
console.log("page couldn't be loaded successfully");
phantom.exit(1);
}
waitFor(function () {
return page.evaluate(function () {
var output = document.getElementById('status');
if (!output) { return false; }
return (/^(\d+ failures?|all passed)/i).test(output.innerText);
});
}, function () {
var failed = page.evaluate(function () { return window.failed; });
var output = page.evaluate(function () {
return document.getElementById('output').innerText + "\n" +
document.getElementById('status').innerText;
});
console.log(output);
phantom.exit(failed > 0 ? 1 : 0);
});
});
function waitFor (test, cb) {
if (test()) {
cb();
} else {
setTimeout(function () { waitFor(test, cb); }, 250);
}
}

View File

@ -15,17 +15,32 @@ var server = require('http').createServer(function (req, res) {
}).resume();
}).addListener('error', function (err) {
throw err;
}).listen(3000, function () {
var childProcess = require('child_process');
var phantomjs = require("phantomjs-prebuilt");
var childArgs = [
require("path").join(__dirname, 'phantom_driver.js')
];
childProcess.execFile(phantomjs.path, childArgs, function (err, stdout, stderr) {
server.close();
console.log(stdout);
if (err) console.error(err);
if (stderr) console.error(stderr);
process.exit(err || stderr || !ok ? 1 : 0);
}).listen(3000,(async () => {
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('http://localhost:3000/test/index.html')
page.on('dialog', async dialog => {
console.log(dialog.message())
await dialog.dismiss()
})
var ret1 = false;
while(1){
ret1 = await page.evaluate(() => {
var output = document.getElementById('status');
if (!output) {
return false;
}
return (/^(\d+ failures?|all passed)/i).test(output.innerText);
})
if(ret1 === true) { break}
}
var failed = await page.evaluate(function () { return window.failed; });
var output = await page.evaluate(function () {
return document.getElementById('output').innerText + "\n" +
document.getElementById('status').innerText;
});
});
console.log(output);
process.exit(failed > 0 ? 1 : 0);
await browser.close()
})());

View File

@ -30,6 +30,7 @@ var ie_lt8 = /MSIE [1-7]\b/.test(navigator.userAgent);
var ie_lt9 = /MSIE [1-8]\b/.test(navigator.userAgent);
var mac = /Mac/.test(navigator.platform);
var phantom = /PhantomJS/.test(navigator.userAgent);
var chrome = !edge && /Chrome\//.test(navigator.userAgent);
var opera = /Opera\/\./.test(navigator.userAgent);
var opera_version = opera && navigator.userAgent.match(/Version\/(\d+\.\d+)/);
if (opera_version) opera_version = Number(opera_version);