Mercurial
comparison .cms/lib/codemirror/test/run.js @ 0:78edf6b517a0 draft
24.10
author | Coffee CMS <info@coffee-cms.ru> |
---|---|
date | Fri, 11 Oct 2024 22:40:23 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:78edf6b517a0 |
---|---|
1 #!/usr/bin/env node | |
2 | |
3 var lint = require("./lint"); | |
4 | |
5 var files = new (require('node-static').Server)(); | |
6 | |
7 var server = require('http').createServer(function (req, res) { | |
8 req.addListener('end', function () { | |
9 files.serve(req, res, function (err/*, result */) { | |
10 if (err) { | |
11 console.error(err); | |
12 process.exit(1); | |
13 } | |
14 }); | |
15 }).resume(); | |
16 }).addListener('error', function (err) { | |
17 throw err; | |
18 }).listen(3000,(async () => { | |
19 const puppeteer = require('puppeteer'); | |
20 const browser = await puppeteer.launch({args: ["--no-sandbox", "--disable-setuid-sandbox"]}) | |
21 const page = await browser.newPage() | |
22 page.on('console', msg => console.log("console:", msg.text())) | |
23 page.on('dialog', async dialog => { | |
24 console.log(dialog.message()) | |
25 await dialog.dismiss() | |
26 }) | |
27 page.evaluateOnNewDocument(() => window.automatedTests = true) | |
28 await page.goto('http://localhost:3000/test/index.html#' + (process.argv[2] || "")) | |
29 while(1) { | |
30 if (await page.evaluate(() => window.done)) break | |
31 await sleep(200) | |
32 } | |
33 let [failed, errors] = await page.evaluate(() => [window.failed, window.errored]) | |
34 for (let error of errors) console.log(error) | |
35 console.log(await page.evaluate(() => document.getElementById('output').innerText + "\n" + | |
36 document.getElementById('status').innerText)) | |
37 process.exit(failed > 0 || errors.length || !lint.ok ? 1 : 0) | |
38 await browser.close() | |
39 })()) | |
40 | |
41 function sleep(n) { return new Promise(acc => setTimeout(acc, n)) } |