fix(html): strip ansi escaping from stdio (#9944)

This commit is contained in:
Pavel Feldman 2021-11-01 15:39:54 -08:00 committed by GitHub
parent 5d49c41a52
commit 2bfbf65b8d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 7 deletions

View File

@ -136,6 +136,8 @@ svg {
font-family: monospace;
background-color: var(--color-canvas-subtle);
margin-left: 24px;
line-height: normal;
padding: 5px;
}
.test-result > div {

View File

@ -25,6 +25,7 @@ import { calculateSha1, removeFolders } from 'playwright-core/lib/utils/utils';
import RawReporter, { JsonReport, JsonSuite, JsonTestCase, JsonTestResult, JsonTestStep, JsonAttachment } from './raw';
import assert from 'assert';
import yazl from 'yazl';
import { stripAnsiEscapes } from './base';
export type Stats = {
total: number;
@ -385,14 +386,15 @@ class HtmlBuilder {
};
}
if ((a.name === 'stdout' || a.name === 'stderr') &&
a.contentType === 'text/plain' &&
lastAttachment &&
if ((a.name === 'stdout' || a.name === 'stderr') && a.contentType === 'text/plain') {
if (lastAttachment &&
lastAttachment.name === a.name &&
lastAttachment.contentType === a.contentType) {
lastAttachment.body += a.body as string;
lastAttachment.body += stripAnsiEscapes(a.body as string);
return null;
}
a.body = stripAnsiEscapes(a.body as string);
}
lastAttachment = a;
return a;
}).filter(Boolean) as TestAttachment[]