fix(list reporter): match using hash sign to prevent filtering out undefined

This commit is contained in:
Simon Knott 2024-07-16 19:54:41 +02:00
parent dc152ad614
commit 91f8c7d5ec
No known key found for this signature in database
GPG key ID: 8CEDC00028084AEC
2 changed files with 42 additions and 42 deletions

View file

@ -212,7 +212,7 @@ class ListReporter extends BaseReporter {
private _appendLine(text: string, prefix: string) {
const line = prefix + this.fitToScreen(text, prefix);
if (process.env.PW_TEST_DEBUG_REPORTERS) {
process.stdout.write(this._lastRow + ' : ' + line + '\n');
process.stdout.write('#' + this._lastRow + ' : ' + line + '\n');
} else {
process.stdout.write(line);
process.stdout.write('\n');
@ -223,7 +223,7 @@ class ListReporter extends BaseReporter {
private _updateLine(row: number, text: string, prefix: string) {
const line = prefix + this.fitToScreen(text, prefix);
if (process.env.PW_TEST_DEBUG_REPORTERS)
process.stdout.write(row + ' : ' + line + '\n');
process.stdout.write('#' + row + ' : ' + line + '\n');
else
this._updateLineForTTY(row, line);
}

View file

@ -72,22 +72,22 @@ for (const useIntermediateMergeReport of [false, true] as const) {
`,
}, { reporter: 'list' }, { PW_TEST_DEBUG_REPORTERS: '1', PLAYWRIGHT_LIST_PRINT_STEPS: '1', PLAYWRIGHT_FORCE_TTY: '80' });
const text = result.output;
const lines = text.split('\n').filter(l => l.match(/^\d :/)).map(l => l.replace(/[.\d]+m?s/, 'Xms'));
const lines = text.split('\n').filter(l => l.match(/^#.* :/)).map(l => l.replace(/[.\d]+m?s/, 'Xms'));
lines.pop(); // Remove last item that contains [v] and time in ms.
expect(lines).toEqual([
'0 : 1 a.test.ts:3:15 passes',
'1 : 1.1 passes outer 1.0',
'2 : 1.2 passes outer 1.0 inner 1.1',
'2 : 1.2 passes outer 1.0 inner 1.1 (Xms)',
'3 : 1.3 passes outer 1.0 inner 1.2',
'3 : 1.3 passes outer 1.0 inner 1.2 (Xms)',
'1 : 1.1 passes outer 1.0 (Xms)',
'4 : 1.4 passes outer 2.0',
'5 : 1.5 passes outer 2.0 inner 2.1',
'5 : 1.5 passes outer 2.0 inner 2.1 (Xms)',
'6 : 1.6 passes outer 2.0 inner 2.2',
'6 : 1.6 passes outer 2.0 inner 2.2 (Xms)',
'4 : 1.4 passes outer 2.0 (Xms)',
'#0 : 1 a.test.ts:3:15 passes',
'#1 : 1.1 passes outer 1.0',
'#2 : 1.2 passes outer 1.0 inner 1.1',
'#2 : 1.2 passes outer 1.0 inner 1.1 (Xms)',
'#3 : 1.3 passes outer 1.0 inner 1.2',
'#3 : 1.3 passes outer 1.0 inner 1.2 (Xms)',
'#1 : 1.1 passes outer 1.0 (Xms)',
'#4 : 1.4 passes outer 2.0',
'#5 : 1.5 passes outer 2.0 inner 2.1',
'#5 : 1.5 passes outer 2.0 inner 2.1 (Xms)',
'#6 : 1.6 passes outer 2.0 inner 2.2',
'#6 : 1.6 passes outer 2.0 inner 2.2 (Xms)',
'#4 : 1.4 passes outer 2.0 (Xms)',
]);
});
@ -107,22 +107,22 @@ for (const useIntermediateMergeReport of [false, true] as const) {
});`,
}, { reporter: 'list' }, { PW_TEST_DEBUG_REPORTERS: '1', PLAYWRIGHT_FORCE_TTY: '80' });
const text = result.output;
const lines = text.split('\n').filter(l => l.match(/^\d :/)).map(l => l.replace(/[.\d]+m?s/, 'Xms'));
const lines = text.split('\n').filter(l => l.match(/^#.* :/)).map(l => l.replace(/[.\d]+m?s/, 'Xms'));
lines.pop(); // Remove last item that contains [v] and time in ms.
expect(lines).toEqual([
'0 : 1 a.test.ts:3:11 passes',
'0 : 1 a.test.ts:4:20 passes outer 1.0',
'0 : 1 a.test.ts:5:22 passes outer 1.0 inner 1.1',
'0 : 1 a.test.ts:4:20 passes outer 1.0',
'0 : 1 a.test.ts:6:22 passes outer 1.0 inner 1.2',
'0 : 1 a.test.ts:4:20 passes outer 1.0',
'0 : 1 a.test.ts:3:11 passes',
'0 : 1 a.test.ts:8:20 passes outer 2.0',
'0 : 1 a.test.ts:9:22 passes outer 2.0 inner 2.1',
'0 : 1 a.test.ts:8:20 passes outer 2.0',
'0 : 1 a.test.ts:10:22 passes outer 2.0 inner 2.2',
'0 : 1 a.test.ts:8:20 passes outer 2.0',
'0 : 1 a.test.ts:3:11 passes',
'#0 : 1 a.test.ts:3:11 passes',
'#0 : 1 a.test.ts:4:20 passes outer 1.0',
'#0 : 1 a.test.ts:5:22 passes outer 1.0 inner 1.1',
'#0 : 1 a.test.ts:4:20 passes outer 1.0',
'#0 : 1 a.test.ts:6:22 passes outer 1.0 inner 1.2',
'#0 : 1 a.test.ts:4:20 passes outer 1.0',
'#0 : 1 a.test.ts:3:11 passes',
'#0 : 1 a.test.ts:8:20 passes outer 2.0',
'#0 : 1 a.test.ts:9:22 passes outer 2.0 inner 2.1',
'#0 : 1 a.test.ts:8:20 passes outer 2.0',
'#0 : 1 a.test.ts:10:22 passes outer 2.0 inner 2.2',
'#0 : 1 a.test.ts:8:20 passes outer 2.0',
'#0 : 1 a.test.ts:3:11 passes',
]);
});
@ -143,15 +143,15 @@ for (const useIntermediateMergeReport of [false, true] as const) {
`,
}, { reporter: 'list' }, { PW_TEST_DEBUG_REPORTERS: '1', PLAYWRIGHT_LIST_PRINT_STEPS: '1' });
const text = result.output;
const lines = text.split('\n').filter(l => l.match(/^\d :/)).map(l => l.replace(/[.\d]+m?s/, 'Xms'));
const lines = text.split('\n').filter(l => l.match(/^#.* :/)).map(l => l.replace(/[.\d]+m?s/, 'Xms'));
lines.pop(); // Remove last item that contains [v] and time in ms.
expect(lines).toEqual([
'0 : 1.1 a.test.ts:5:26 passes outer 1.0 inner 1.1 (Xms)',
'1 : 1.2 a.test.ts:6:26 passes outer 1.0 inner 1.2 (Xms)',
'2 : 1.3 a.test.ts:4:24 passes outer 1.0 (Xms)',
'3 : 1.4 a.test.ts:9:26 passes outer 2.0 inner 2.1 (Xms)',
'4 : 1.5 a.test.ts:10:26 passes outer 2.0 inner 2.2 (Xms)',
'5 : 1.6 a.test.ts:8:24 passes outer 2.0 (Xms)',
'#0 : 1.1 a.test.ts:5:26 passes outer 1.0 inner 1.1 (Xms)',
'#1 : 1.2 a.test.ts:6:26 passes outer 1.0 inner 1.2 (Xms)',
'#2 : 1.3 a.test.ts:4:24 passes outer 1.0 (Xms)',
'#3 : 1.4 a.test.ts:9:26 passes outer 2.0 inner 2.1 (Xms)',
'#4 : 1.5 a.test.ts:10:26 passes outer 2.0 inner 2.2 (Xms)',
'#5 : 1.6 a.test.ts:8:24 passes outer 2.0 (Xms)',
]);
});
@ -185,13 +185,13 @@ for (const useIntermediateMergeReport of [false, true] as const) {
`,
}, { reporter: 'list', retries: '1' }, { PW_TEST_DEBUG_REPORTERS: '1', PLAYWRIGHT_FORCE_TTY: '80' });
const text = result.output;
const lines = text.split('\n').filter(l => l.startsWith('0 :') || l.startsWith('1 :')).map(l => l.replace(/\d+(\.\d+)?m?s/, 'XXms'));
const lines = text.split('\n').filter(l => l.startsWith('#0 :') || l.startsWith('#1 :')).map(l => l.replace(/\d+(\.\d+)?m?s/, 'XXms'));
expect(lines).toEqual([
`0 : 1 a.test.ts:3:15 flaky`,
`0 : ${NEGATIVE_STATUS_MARK} 1 a.test.ts:3:15 flaky (XXms)`,
`1 : 2 a.test.ts:3:15 flaky (retry #1)`,
`1 : ${POSITIVE_STATUS_MARK} 2 a.test.ts:3:15 flaky (retry #1) (XXms)`,
`#0 : 1 a.test.ts:3:15 flaky`,
`#0 : ${NEGATIVE_STATUS_MARK} 1 a.test.ts:3:15 flaky (XXms)`,
`#1 : 2 a.test.ts:3:15 flaky (retry #1)`,
`#1 : ${POSITIVE_STATUS_MARK} 2 a.test.ts:3:15 flaky (retry #1) (XXms)`,
]);
});