Codemirror: Replaced PhantomJS Dependency with Puppeteer
Signed-off-by: ossdev <ossdev@puresoftware.com>
This commit is contained in:
parent
7b2121b432
commit
94b08d6fc9
|
@ -23,7 +23,7 @@
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"blint": "^1.1.0",
|
"blint": "^1.1.0",
|
||||||
"node-static": "0.7.11",
|
"node-static": "0.7.11",
|
||||||
"phantomjs-prebuilt": "^2.1.12",
|
"puppeteer": "^1.20.0",
|
||||||
"rollup": "^1.26.3",
|
"rollup": "^1.26.3",
|
||||||
"rollup-plugin-buble": "^0.19.8"
|
"rollup-plugin-buble": "^0.19.8"
|
||||||
},
|
},
|
||||||
|
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
41
test/run.js
41
test/run.js
|
@ -15,17 +15,32 @@ var server = require('http').createServer(function (req, res) {
|
||||||
}).resume();
|
}).resume();
|
||||||
}).addListener('error', function (err) {
|
}).addListener('error', function (err) {
|
||||||
throw err;
|
throw err;
|
||||||
}).listen(3000, function () {
|
}).listen(3000,(async () => {
|
||||||
var childProcess = require('child_process');
|
const puppeteer = require('puppeteer');
|
||||||
var phantomjs = require("phantomjs-prebuilt");
|
const browser = await puppeteer.launch()
|
||||||
var childArgs = [
|
const page = await browser.newPage()
|
||||||
require("path").join(__dirname, 'phantom_driver.js')
|
await page.goto('http://localhost:3000/test/index.html')
|
||||||
];
|
page.on('dialog', async dialog => {
|
||||||
childProcess.execFile(phantomjs.path, childArgs, function (err, stdout, stderr) {
|
console.log(dialog.message())
|
||||||
server.close();
|
await dialog.dismiss()
|
||||||
console.log(stdout);
|
})
|
||||||
if (err) console.error(err);
|
var ret1 = false;
|
||||||
if (stderr) console.error(stderr);
|
while(1){
|
||||||
process.exit(err || stderr || !ok ? 1 : 0);
|
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()
|
||||||
|
})());
|
||||||
|
|
|
@ -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 ie_lt9 = /MSIE [1-8]\b/.test(navigator.userAgent);
|
||||||
var mac = /Mac/.test(navigator.platform);
|
var mac = /Mac/.test(navigator.platform);
|
||||||
var phantom = /PhantomJS/.test(navigator.userAgent);
|
var phantom = /PhantomJS/.test(navigator.userAgent);
|
||||||
|
var chrome = !edge && /Chrome\//.test(navigator.userAgent);
|
||||||
var opera = /Opera\/\./.test(navigator.userAgent);
|
var opera = /Opera\/\./.test(navigator.userAgent);
|
||||||
var opera_version = opera && navigator.userAgent.match(/Version\/(\d+\.\d+)/);
|
var opera_version = opera && navigator.userAgent.match(/Version\/(\d+\.\d+)/);
|
||||||
if (opera_version) opera_version = Number(opera_version);
|
if (opera_version) opera_version = Number(opera_version);
|
||||||
|
|
Loading…
Reference in New Issue