mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-21 07:56:16 -04:00
lint: Run eslint --fix
on bin/
and tests/
This commit is contained in:
parent
0625739cb8
commit
b8d07a42eb
78 changed files with 4319 additions and 4599 deletions
|
@ -1,11 +1,10 @@
|
|||
$(function(){
|
||||
|
||||
function stringifyException(exception){
|
||||
var err = exception.stack || exception.toString();
|
||||
$(() => {
|
||||
function stringifyException(exception) {
|
||||
let err = exception.stack || exception.toString();
|
||||
|
||||
// FF / Opera do not add the message
|
||||
if (!~err.indexOf(exception.message)) {
|
||||
err = exception.message + '\n' + err;
|
||||
err = `${exception.message}\n${err}`;
|
||||
}
|
||||
|
||||
// <=IE7 stringifies to [Object Error]. Since it can be overloaded, we
|
||||
|
@ -14,57 +13,57 @@ $(function(){
|
|||
|
||||
// Safari doesn't give you a stack. Let's at least provide a source line.
|
||||
if (!exception.stack && exception.sourceURL && exception.line !== undefined) {
|
||||
err += "\n(" + exception.sourceURL + ":" + exception.line + ")";
|
||||
err += `\n(${exception.sourceURL}:${exception.line})`;
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
function CustomRunner(runner) {
|
||||
var stats = { suites: 0, tests: 0, passes: 0, pending: 0, failures: 0 };
|
||||
const stats = {suites: 0, tests: 0, passes: 0, pending: 0, failures: 0};
|
||||
|
||||
if (!runner) return;
|
||||
|
||||
runner.on('start', function(){
|
||||
stats.start = new Date;
|
||||
runner.on('start', () => {
|
||||
stats.start = new Date();
|
||||
});
|
||||
|
||||
runner.on('suite', function(suite){
|
||||
runner.on('suite', (suite) => {
|
||||
suite.root || stats.suites++;
|
||||
if (suite.root) return;
|
||||
append(suite.title);
|
||||
level++;
|
||||
});
|
||||
|
||||
runner.on('suite end', function(suite){
|
||||
runner.on('suite end', (suite) => {
|
||||
if (suite.root) return;
|
||||
level--;
|
||||
|
||||
if(level == 0) {
|
||||
append("");
|
||||
if (level == 0) {
|
||||
append('');
|
||||
}
|
||||
});
|
||||
|
||||
// Scroll down test display after each test
|
||||
let mochaEl = $('#mocha')[0];
|
||||
runner.on('test', function(){
|
||||
const mochaEl = $('#mocha')[0];
|
||||
runner.on('test', () => {
|
||||
mochaEl.scrollTop = mochaEl.scrollHeight;
|
||||
});
|
||||
|
||||
// max time a test is allowed to run
|
||||
// TODO this should be lowered once timeslider_revision.js is faster
|
||||
var killTimeout;
|
||||
runner.on('test end', function(){
|
||||
let killTimeout;
|
||||
runner.on('test end', () => {
|
||||
stats.tests++;
|
||||
});
|
||||
|
||||
runner.on('pass', function(test){
|
||||
if(killTimeout) clearTimeout(killTimeout);
|
||||
killTimeout = setTimeout(function(){
|
||||
append("FINISHED - [red]no test started since 3 minutes, tests stopped[clear]");
|
||||
runner.on('pass', (test) => {
|
||||
if (killTimeout) clearTimeout(killTimeout);
|
||||
killTimeout = setTimeout(() => {
|
||||
append('FINISHED - [red]no test started since 3 minutes, tests stopped[clear]');
|
||||
}, 60000 * 3);
|
||||
|
||||
var medium = test.slow() / 2;
|
||||
const medium = test.slow() / 2;
|
||||
test.speed = test.duration > test.slow()
|
||||
? 'slow'
|
||||
: test.duration > medium
|
||||
|
@ -72,107 +71,104 @@ $(function(){
|
|||
: 'fast';
|
||||
|
||||
stats.passes++;
|
||||
append("->","[green]PASSED[clear] :", test.title," ",test.duration,"ms");
|
||||
append('->', '[green]PASSED[clear] :', test.title, ' ', test.duration, 'ms');
|
||||
});
|
||||
|
||||
runner.on('fail', function(test, err){
|
||||
if(killTimeout) clearTimeout(killTimeout);
|
||||
killTimeout = setTimeout(function(){
|
||||
append("FINISHED - [red]no test started since 3 minutes, tests stopped[clear]");
|
||||
runner.on('fail', (test, err) => {
|
||||
if (killTimeout) clearTimeout(killTimeout);
|
||||
killTimeout = setTimeout(() => {
|
||||
append('FINISHED - [red]no test started since 3 minutes, tests stopped[clear]');
|
||||
}, 60000 * 3);
|
||||
|
||||
stats.failures++;
|
||||
test.err = err;
|
||||
append("->","[red]FAILED[clear] :", test.title, stringifyException(test.err));
|
||||
append('->', '[red]FAILED[clear] :', test.title, stringifyException(test.err));
|
||||
});
|
||||
|
||||
runner.on('pending', function(test){
|
||||
if(killTimeout) clearTimeout(killTimeout);
|
||||
killTimeout = setTimeout(function(){
|
||||
append("FINISHED - [red]no test started since 3 minutes, tests stopped[clear]");
|
||||
runner.on('pending', (test) => {
|
||||
if (killTimeout) clearTimeout(killTimeout);
|
||||
killTimeout = setTimeout(() => {
|
||||
append('FINISHED - [red]no test started since 3 minutes, tests stopped[clear]');
|
||||
}, 60000 * 3);
|
||||
|
||||
stats.pending++;
|
||||
append("->","[yellow]PENDING[clear]:", test.title);
|
||||
append('->', '[yellow]PENDING[clear]:', test.title);
|
||||
});
|
||||
|
||||
var $console = $("#console");
|
||||
var level = 0;
|
||||
var append = function(){
|
||||
var text = Array.prototype.join.apply(arguments, [" "]);
|
||||
var oldText = $console.text();
|
||||
const $console = $('#console');
|
||||
var level = 0;
|
||||
var append = function () {
|
||||
const text = Array.prototype.join.apply(arguments, [' ']);
|
||||
const oldText = $console.text();
|
||||
|
||||
var space = "";
|
||||
for(var i=0;i<level*2;i++){
|
||||
space+=" ";
|
||||
}
|
||||
|
||||
var splitedText = "";
|
||||
_(text.split("\n")).each(function(line){
|
||||
while(line.length > 0){
|
||||
var split = line.substr(0,100);
|
||||
line = line.substr(100);
|
||||
if(splitedText.length > 0) splitedText+="\n";
|
||||
splitedText += split;
|
||||
}
|
||||
});
|
||||
|
||||
//indent all lines with the given amount of space
|
||||
var newText = _(splitedText.split("\n")).map(function(line){
|
||||
return space + line;
|
||||
}).join("\\n");
|
||||
|
||||
$console.text(oldText + newText + "\\n");
|
||||
let space = '';
|
||||
for (let i = 0; i < level * 2; i++) {
|
||||
space += ' ';
|
||||
}
|
||||
|
||||
var total = runner.total;
|
||||
runner.on('end', function(){
|
||||
stats.end = new Date;
|
||||
stats.duration = stats.end - stats.start;
|
||||
var minutes = Math.floor(stats.duration / 1000 / 60);
|
||||
var seconds = Math.round((stats.duration / 1000) % 60) // chrome < 57 does not like this .toString().padStart("2","0");
|
||||
if(stats.tests === total){
|
||||
append("FINISHED -", stats.passes, "tests passed,", stats.failures, "tests failed,", stats.pending," pending, duration: " + minutes + ":" + seconds);
|
||||
} else if (stats.tests > total) {
|
||||
append("FINISHED - but more tests than planned returned", stats.passes, "tests passed,", stats.failures, "tests failed,", stats.pending," pending, duration: " + minutes + ":" + seconds);
|
||||
append(total,"tests, but",stats.tests,"returned. There is probably a problem with your async code or error handling, see https://github.com/mochajs/mocha/issues/1327");
|
||||
}
|
||||
else {
|
||||
append("FINISHED - but not all tests returned", stats.passes, "tests passed,", stats.failures, "tests failed,", stats.pending, "tests pending, duration: " + minutes + ":" + seconds);
|
||||
append(total,"tests, but only",stats.tests,"returned. Check for failed before/beforeEach-hooks (no `test end` is called for them and subsequent tests of the same suite are skipped), see https://github.com/mochajs/mocha/pull/1043");
|
||||
let splitedText = '';
|
||||
_(text.split('\n')).each((line) => {
|
||||
while (line.length > 0) {
|
||||
const split = line.substr(0, 100);
|
||||
line = line.substr(100);
|
||||
if (splitedText.length > 0) splitedText += '\n';
|
||||
splitedText += split;
|
||||
}
|
||||
});
|
||||
|
||||
// indent all lines with the given amount of space
|
||||
const newText = _(splitedText.split('\n')).map((line) => space + line).join('\\n');
|
||||
|
||||
$console.text(`${oldText + newText}\\n`);
|
||||
};
|
||||
|
||||
const total = runner.total;
|
||||
runner.on('end', () => {
|
||||
stats.end = new Date();
|
||||
stats.duration = stats.end - stats.start;
|
||||
const minutes = Math.floor(stats.duration / 1000 / 60);
|
||||
const seconds = Math.round((stats.duration / 1000) % 60); // chrome < 57 does not like this .toString().padStart("2","0");
|
||||
if (stats.tests === total) {
|
||||
append('FINISHED -', stats.passes, 'tests passed,', stats.failures, 'tests failed,', stats.pending, ` pending, duration: ${minutes}:${seconds}`);
|
||||
} else if (stats.tests > total) {
|
||||
append('FINISHED - but more tests than planned returned', stats.passes, 'tests passed,', stats.failures, 'tests failed,', stats.pending, ` pending, duration: ${minutes}:${seconds}`);
|
||||
append(total, 'tests, but', stats.tests, 'returned. There is probably a problem with your async code or error handling, see https://github.com/mochajs/mocha/issues/1327');
|
||||
} else {
|
||||
append('FINISHED - but not all tests returned', stats.passes, 'tests passed,', stats.failures, 'tests failed,', stats.pending, `tests pending, duration: ${minutes}:${seconds}`);
|
||||
append(total, 'tests, but only', stats.tests, 'returned. Check for failed before/beforeEach-hooks (no `test end` is called for them and subsequent tests of the same suite are skipped), see https://github.com/mochajs/mocha/pull/1043');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
//http://stackoverflow.com/questions/1403888/get-url-parameter-with-jquery
|
||||
var getURLParameter = function (name) {
|
||||
// http://stackoverflow.com/questions/1403888/get-url-parameter-with-jquery
|
||||
const getURLParameter = function (name) {
|
||||
return decodeURI(
|
||||
(RegExp(name + '=' + '(.+?)(&|$)').exec(location.search)||[,null])[1]
|
||||
(RegExp(`${name}=` + '(.+?)(&|$)').exec(location.search) || [, null])[1],
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
//get the list of specs and filter it if requested
|
||||
var specs = specs_list.slice();
|
||||
// get the list of specs and filter it if requested
|
||||
const specs = specs_list.slice();
|
||||
|
||||
//inject spec scripts into the dom
|
||||
var $body = $('body');
|
||||
$.each(specs, function(i, spec){
|
||||
if(spec[0] != "/"){ // if the spec isn't a plugin spec which means the spec file might be in a different subfolder
|
||||
$body.append('<script src="specs/' + spec + '"></script>')
|
||||
}else{
|
||||
$body.append('<script src="' + spec + '"></script>')
|
||||
// inject spec scripts into the dom
|
||||
const $body = $('body');
|
||||
$.each(specs, (i, spec) => {
|
||||
if (spec[0] != '/') { // if the spec isn't a plugin spec which means the spec file might be in a different subfolder
|
||||
$body.append(`<script src="specs/${spec}"></script>`);
|
||||
} else {
|
||||
$body.append(`<script src="${spec}"></script>`);
|
||||
}
|
||||
});
|
||||
|
||||
//initalize the test helper
|
||||
helper.init(function(){
|
||||
//configure and start the test framework
|
||||
var grep = getURLParameter("grep");
|
||||
if(grep != "null"){
|
||||
// initalize the test helper
|
||||
helper.init(() => {
|
||||
// configure and start the test framework
|
||||
const grep = getURLParameter('grep');
|
||||
if (grep != 'null') {
|
||||
mocha.grep(grep);
|
||||
}
|
||||
|
||||
var runner = mocha.run();
|
||||
CustomRunner(runner)
|
||||
const runner = mocha.run();
|
||||
CustomRunner(runner);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue