Skip to content

Commit b2c8573

Browse files
committed
fix(test-runner): browser logs in summary reporter
1 parent d707e11 commit b2c8573

File tree

2 files changed

+22
-15
lines changed

2 files changed

+22
-15
lines changed

.changeset/happy-adults-guess.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@web/test-runner': patch
3+
---
4+
5+
Report browsers logs when using summary reporter

packages/test-runner/src/reporter/summaryReporter.ts

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import type {
22
BrowserLauncher,
3+
Logger,
34
Reporter,
45
ReporterArgs,
56
TestSuiteResult,
@@ -8,7 +9,7 @@ import type {
89
import { reportTestsErrors } from './reportTestsErrors.js';
910
import { reportTestFileErrors } from './reportTestFileErrors.js';
1011

11-
import { TestRunnerLogger } from '../logger/TestRunnerLogger.js';
12+
import { reportBrowserLogs } from './reportBrowserLogs.js';
1213

1314
interface Options {
1415
flatten?: boolean;
@@ -29,34 +30,33 @@ export function summaryReporter(opts: Options): Reporter {
2930
let args: ReporterArgs;
3031
let favoriteBrowser: string;
3132

32-
const logger = new TestRunnerLogger();
33-
34-
function log(name: string, passed: boolean, prefix = ' ', postfix = '') {
33+
function log(logger: Logger, name: string, passed: boolean, prefix = ' ', postfix = '') {
3534
const sign = passed ? green('✓') : red('𐄂');
3635
if (flatten) logger.log(`${sign} ${prefix} ${name}${postfix}`);
3736
else logger.log(`${prefix} ${sign} ${name}`);
3837
}
3938

40-
function logResults(results?: TestSuiteResult, prefix?: string, browser?: BrowserLauncher) {
39+
function logResults(logger: Logger, results?: TestSuiteResult, prefix?: string, browser?: BrowserLauncher) {
4140
const browserName = browser?.name ? ` ${dim(`[${browser.name}]`)}` : '';
4241
for (const result of results?.tests ?? []) {
43-
log(result.name, result.passed, prefix, browserName);
42+
log(logger, result.name, result.passed, prefix, browserName);
4443
}
4544

4645
for (const suite of results?.suites ?? []) {
47-
logSuite(suite, prefix, browser);
46+
logSuite(logger, suite, prefix, browser);
4847
}
4948
}
5049

51-
function logSuite(suite: TestSuiteResult, parent?: string, browser?: BrowserLauncher) {
50+
function logSuite(logger: Logger, suite: TestSuiteResult, parent?: string, browser?: BrowserLauncher) {
5251
const browserName = browser?.name ? ` ${dim(`[${browser.name}]`)}` : '';
5352
let pref = parent ? `${parent} ` : '';
5453
if (flatten) pref += `${suite.name}`;
5554
else logger.log(`${pref}${suite.name}${browserName}`);
5655

57-
logResults(suite, pref, browser);
56+
logResults(logger, suite, pref, browser);
5857
}
5958

59+
let cachedLogger: Logger;
6060
return {
6161
start(_args) {
6262
args = _args;
@@ -67,19 +67,21 @@ export function summaryReporter(opts: Options): Reporter {
6767
}) ?? args.browserNames[0];
6868
},
6969

70-
reportTestFileResults({ sessionsForTestFile: sessions }) {
71-
for (const session of sessions) {
72-
logResults(session.testResults, '', session.browser);
70+
reportTestFileResults({ logger, sessionsForTestFile }) {
71+
cachedLogger = logger;
72+
for (const session of sessionsForTestFile) {
73+
logResults(logger, session.testResults, '', session.browser);
7374
logger.log('');
7475
}
76+
reportBrowserLogs(logger, sessionsForTestFile);
7577
},
7678

7779
onTestRunFinished({ sessions }) {
7880
const failedSessions = sessions.filter(s => !s.passed);
7981
if (failedSessions.length > 0) {
80-
logger.log('\n\nErrors Reported in Tests:\n\n');
81-
reportTestsErrors(logger, args.browserNames, favoriteBrowser, failedSessions);
82-
reportTestFileErrors(logger, args.browserNames, favoriteBrowser, failedSessions, true);
82+
cachedLogger.log('\n\nErrors Reported in Tests:\n\n');
83+
reportTestsErrors(cachedLogger, args.browserNames, favoriteBrowser, failedSessions);
84+
reportTestFileErrors(cachedLogger, args.browserNames, favoriteBrowser, failedSessions, true);
8385
}
8486
},
8587
};

0 commit comments

Comments
 (0)