Skip to content

Commit c446bf6

Browse files
authored
chore: cleanup some har code (#4306)
Drive-by: do not create <root>/file.png in the tests.
1 parent d117d0b commit c446bf6

File tree

3 files changed

+10
-14
lines changed

3 files changed

+10
-14
lines changed

src/trace/harTracer.ts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,13 +46,7 @@ class HarTracer implements ContextListener {
4646
}
4747
}
4848

49-
async onContextDidDestroy(context: BrowserContext): Promise<void> {
50-
const contextTracer = this._contextTracers.get(context);
51-
if (contextTracer) {
52-
this._contextTracers.delete(context);
53-
await contextTracer.flush();
54-
}
55-
}
49+
async onContextDidDestroy(context: BrowserContext): Promise<void> { }
5650
}
5751

5852
type HarOptions = {
@@ -66,7 +60,7 @@ class HarContextTracer {
6660
private _pageEntries = new Map<Page, har.Page>();
6761
private _entries = new Map<network.Request, har.Entry>();
6862
private _lastPage = 0;
69-
private _barrierPromises = new Map<Promise<void>, Page>();
63+
private _barrierPromises = new Set<Promise<void>>();
7064

7165
constructor(context: BrowserContext, options: HarOptions) {
7266
this._options = options;
@@ -135,7 +129,7 @@ class HarContextTracer {
135129
})),
136130
promise
137131
]) as Promise<void>;
138-
this._barrierPromises.set(race, page);
132+
this._barrierPromises.add(race);
139133
}
140134

141135
private _onRequest(page: Page, request: network.Request) {
@@ -233,7 +227,7 @@ class HarContextTracer {
233227
}
234228

235229
async flush() {
236-
await Promise.all(this._barrierPromises.keys());
230+
await Promise.all(this._barrierPromises);
237231
for (const pageEntry of this._log.pages) {
238232
if (pageEntry.pageTimings.onContentLoad >= 0)
239233
pageEntry.pageTimings.onContentLoad -= pageEntry.startedDateTime.valueOf();

test/elementhandle-screenshot.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -394,12 +394,13 @@ describe('element screenshot', (suite, parameters) => {
394394
expect(await fs.promises.readFile(outputPath)).toMatchSnapshot('screenshot-element-bounding-box.png');
395395
});
396396

397-
it('should prefer type over extension', async ({page, server}) => {
397+
it('should prefer type over extension', async ({page, server, testInfo}) => {
398398
await page.setViewportSize({width: 500, height: 500});
399399
await page.goto(server.PREFIX + '/grid.html');
400400
await page.evaluate(() => window.scrollBy(50, 100));
401401
const elementHandle = await page.$('.box:nth-of-type(3)');
402-
const buffer = await elementHandle.screenshot({ path: 'file.png', type: 'jpeg' });
402+
const outputPath = testInfo.outputPath('file.png');
403+
const buffer = await elementHandle.screenshot({ path: outputPath, type: 'jpeg' });
403404
expect([buffer[0], buffer[1], buffer[2]]).toEqual([0xFF, 0xD8, 0xFF]);
404405
});
405406
});

test/page-screenshot.spec.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -292,8 +292,9 @@ describe('page screenshot', (suite, { browserName, headful }) => {
292292
expect(error.message).toContain('path: unsupported mime type "text/plain"');
293293
});
294294

295-
it('should prefer type over extension', async ({page}) => {
296-
const buffer = await page.screenshot({ path: 'file.png', type: 'jpeg' });
295+
it('should prefer type over extension', async ({page, testInfo}) => {
296+
const outputPath = testInfo.outputPath('file.png');
297+
const buffer = await page.screenshot({ path: outputPath, type: 'jpeg' });
297298
expect([buffer[0], buffer[1], buffer[2]]).toEqual([0xFF, 0xD8, 0xFF]);
298299
});
299300

0 commit comments

Comments
 (0)