From 94b08d6fc95fe320d2f4975e3b704bdd20d44cb0 Mon Sep 17 00:00:00 2001 From: ossdev Date: Mon, 4 Nov 2019 15:39:58 +0530 Subject: [PATCH] Codemirror: Replaced PhantomJS Dependency with Puppeteer Signed-off-by: ossdev --- package.json | 2 +- test/phantom_driver.js | 31 ------------------------------- test/run.js | 41 ++++++++++++++++++++++++++++------------- test/test.js | 1 + 4 files changed, 30 insertions(+), 45 deletions(-) delete mode 100644 test/phantom_driver.js diff --git a/package.json b/package.json index 8ad7b3132..da4bea1ac 100644 --- a/package.json +++ b/package.json @@ -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" }, diff --git a/test/phantom_driver.js b/test/phantom_driver.js deleted file mode 100644 index dbad08db6..000000000 --- a/test/phantom_driver.js +++ /dev/null @@ -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); - } -} diff --git a/test/run.js b/test/run.js index 54984e73a..5b3c903a2 100755 --- a/test/run.js +++ b/test/run.js @@ -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() +})()); diff --git a/test/test.js b/test/test.js index 846d94e8a..377f17611 100644 --- a/test/test.js +++ b/test/test.js @@ -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);