14
14
* limitations under the License.
15
15
*/
16
16
17
- import { test , expect } from './playwright-test-fixtures' ;
17
+ import { test , expect , stripAnsi } from './playwright-test-fixtures' ;
18
18
19
19
const DOES_NOT_SUPPORT_UTF8_IN_TERMINAL = process . platform === 'win32' && process . env . TERM_PROGRAM !== 'vscode' && ! process . env . WT_SESSION ;
20
20
const POSITIVE_STATUS_MARK = DOES_NOT_SUPPORT_UTF8_IN_TERMINAL ? 'ok' : '✓ ' ;
@@ -70,7 +70,7 @@ for (const useIntermediateMergeReport of [false, true] as const) {
70
70
});
71
71
});
72
72
` ,
73
- } , { reporter : 'list' } , { PW_TEST_DEBUG_REPORTERS : '1' , PW_TEST_DEBUG_REPORTERS_PRINT_STEPS : '1' , PWTEST_TTY_WIDTH : '80' } ) ;
73
+ } , { reporter : 'list' } , { PW_TEST_DEBUG_REPORTERS : '1' , PW_TEST_DEBUG_REPORTERS_PRINT_STEPS : '1' , PLAYWRIGHT_FORCE_TTY : '80' } ) ;
74
74
const text = result . output ;
75
75
const lines = text . split ( '\n' ) . filter ( l => l . match ( / ^ \d : / ) ) . map ( l => l . replace ( / [ . \d ] + m ? s / , 'Xms' ) ) ;
76
76
lines . pop ( ) ; // Remove last item that contains [v] and time in ms.
@@ -105,7 +105,7 @@ for (const useIntermediateMergeReport of [false, true] as const) {
105
105
await test.step('inner 2.2', async () => {});
106
106
});
107
107
});` ,
108
- } , { reporter : 'list' } , { PW_TEST_DEBUG_REPORTERS : '1' , PWTEST_TTY_WIDTH : '80' } ) ;
108
+ } , { reporter : 'list' } , { PW_TEST_DEBUG_REPORTERS : '1' , PLAYWRIGHT_FORCE_TTY : '80' } ) ;
109
109
const text = result . output ;
110
110
const lines = text . split ( '\n' ) . filter ( l => l . match ( / ^ \d : / ) ) . map ( l => l . replace ( / [ . \d ] + m ? s / , 'Xms' ) ) ;
111
111
lines . pop ( ) ; // Remove last item that contains [v] and time in ms.
@@ -135,7 +135,7 @@ for (const useIntermediateMergeReport of [false, true] as const) {
135
135
console.log('a'.repeat(80) + 'b'.repeat(20));
136
136
});
137
137
` ,
138
- } , { reporter : 'list' } , { PWTEST_TTY_WIDTH : TTY_WIDTH + '' } ) ;
138
+ } , { reporter : 'list' } , { PLAYWRIGHT_FORCE_TTY : TTY_WIDTH + '' } ) ;
139
139
140
140
const renderedText = simpleAnsiRenderer ( result . rawOutput , TTY_WIDTH ) ;
141
141
if ( process . platform === 'win32' )
@@ -154,7 +154,7 @@ for (const useIntermediateMergeReport of [false, true] as const) {
154
154
expect(testInfo.retry).toBe(1);
155
155
});
156
156
` ,
157
- } , { reporter : 'list' , retries : '1' } , { PW_TEST_DEBUG_REPORTERS : '1' , PWTEST_TTY_WIDTH : '80' } ) ;
157
+ } , { reporter : 'list' , retries : '1' } , { PW_TEST_DEBUG_REPORTERS : '1' , PLAYWRIGHT_FORCE_TTY : '80' } ) ;
158
158
const text = result . output ;
159
159
const lines = text . split ( '\n' ) . filter ( l => l . startsWith ( '0 :' ) || l . startsWith ( '1 :' ) ) . map ( l => l . replace ( / \d + ( \. \d + ) ? m ? s / , 'XXms' ) ) ;
160
160
@@ -185,10 +185,10 @@ for (const useIntermediateMergeReport of [false, true] as const) {
185
185
test.skip('skipped very long name', async () => {
186
186
});
187
187
` ,
188
- } , { reporter : 'list' , retries : 0 } , { PWTEST_TTY_WIDTH : '50' } ) ;
188
+ } , { reporter : 'list' , retries : 0 } , { PLAYWRIGHT_FORCE_TTY : '50' } ) ;
189
189
expect ( result . exitCode ) . toBe ( 1 ) ;
190
190
191
- const lines = result . output . split ( '\n' ) . slice ( 3 , 11 ) ;
191
+ const lines = result . rawOutput . split ( '\n' ) . map ( line => line . split ( '\x1B[22m\x1B[1E' ) ) . flat ( ) . map ( line => stripAnsi ( line ) ) . filter ( line => line . trim ( ) ) . slice ( 1 , 9 ) ;
192
192
expect ( lines . every ( line => line . length <= 50 ) ) . toBe ( true ) ;
193
193
194
194
expect ( lines [ 0 ] ) . toBe ( ` 1 …a.test.ts:3:15 › failure in very long name` ) ;
0 commit comments