diff --git a/.changeset/wise-ties-knock.md b/.changeset/wise-ties-knock.md new file mode 100644 index 000000000..60945c637 --- /dev/null +++ b/.changeset/wise-ties-knock.md @@ -0,0 +1,5 @@ +--- +'@web/test-runner': minor +--- + +Add browser name to summaryReporter output diff --git a/packages/test-runner/src/reporter/summaryReporter.ts b/packages/test-runner/src/reporter/summaryReporter.ts index 570233818..66e23a3c4 100644 --- a/packages/test-runner/src/reporter/summaryReporter.ts +++ b/packages/test-runner/src/reporter/summaryReporter.ts @@ -1,4 +1,9 @@ -import type { Reporter, ReporterArgs, TestSuiteResult } from '@web/test-runner-core'; +import type { + BrowserLauncher, + Reporter, + ReporterArgs, + TestSuiteResult, +} from '@web/test-runner-core'; import { reportTestsErrors } from './reportTestsErrors.js'; import { reportTestFileErrors } from './reportTestFileErrors.js'; @@ -16,6 +21,7 @@ const color = const reset = `\x1b[0m\x1b[0m`; const green = color([32, 89]); const red = color([31, 89]); +const dim = color([2, 0]); /** Test reporter that summarizes all test for a given run */ export function summaryReporter(opts: Options): Reporter { @@ -25,29 +31,30 @@ export function summaryReporter(opts: Options): Reporter { const logger = new TestRunnerLogger(); - function log(name: string, passed: boolean, prefix = ' ') { + function log(name: string, passed: boolean, prefix = ' ', postfix = '') { const sign = passed ? green('✓') : red('𐄂'); - logger.log(flatten ? `${sign} ${prefix} ${name}` : `${prefix} ${sign} ${name}`); + if (flatten) logger.log(`${sign} ${prefix} ${name}${postfix}`); + else logger.log(`${prefix} ${sign} ${name}`); } - function logResults(results?: TestSuiteResult, prefix?: string) { + function logResults(results?: TestSuiteResult, prefix?: string, browser?: BrowserLauncher) { + const browserName = browser?.name ? ` ${dim(`[${browser.name}]`)}` : ''; for (const result of results?.tests ?? []) { - log(result.name, result.passed, prefix); + log(result.name, result.passed, prefix, browserName); } for (const suite of results?.suites ?? []) { - logSuite(suite, prefix); + logSuite(suite, prefix, browser); } } - function logSuite(suite: TestSuiteResult, parent?: string) { - const pref = flatten ? `${parent ? `${parent}` : ''} ${suite.name}` : `${parent ?? ''} `; + function logSuite(suite: TestSuiteResult, parent?: string, browser?: BrowserLauncher) { + const browserName = browser?.name ? ` ${dim(`[${browser.name}]`)}` : ''; + let pref = parent ? `${parent} ` : ''; + if (flatten) pref += `${suite.name}`; + else logger.log(`${pref}${suite.name}${browserName}`); - if (!flatten) { - logger.log(`${pref}${suite.name}`); - } - - logResults(suite, pref); + logResults(suite, pref, browser); } return { @@ -62,7 +69,7 @@ export function summaryReporter(opts: Options): Reporter { reportTestFileResults({ sessionsForTestFile: sessions }) { for (const session of sessions) { - logResults(session.testResults); + logResults(session.testResults, '', session.browser); logger.log(''); } },