/
githubmirror
/
node
Обзор
Документация
Войти
/
githubmirror
/
node
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
lib/internal/test_runner/reporter/dot.js
40 строк
1 KB
Pietro Marchini
test_runner: replace ansi clear with ansi reset
21 сен 2024, 16:42
Не верифицирован
21 сен 2024, 16:42
0c8c107
Код
Авторство
О чём код?
'use strict'; const { ArrayPrototypePush, MathMax, } = primordials; const colors = require('internal/util/colors'); const { formatTestReport } = require('internal/test_runner/reporter/utils'); module.exports = async function* dot(source) { let count = 0; let columns = getLineLength(); const failedTests = []; for await (const { type, data } of source) { if (type === 'test:pass') { yield `${colors.green}.${colors.reset}`; } if (type === 'test:fail') { yield `${colors.red}X${colors.reset}`; ArrayPrototypePush(failedTests, data); } if ((type === 'test:fail' || type === 'test:pass') && ++count === columns) { yield '\n'; // Getting again in case the terminal was resized. columns = getLineLength(); count = 0; } } yield '\n'; if (failedTests.length > 0) { yield `\n${colors.red}Failed tests:${colors.white}\n\n`; for (const test of failedTests) { yield formatTestReport('test:fail', test); } } }; function getLineLength() { return MathMax(process.stdout.columns ?? 20, 20); }