mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
fix(trace-viewer): don't crash when argument is null (#12186)
This commit is contained in:
parent
562da15af2
commit
21ae298015
@ -82,7 +82,7 @@ function toString(metadata: CallMetadata, name: string, value: any): { title: st
|
||||
value = parseSerializedValue(value, new Array(10).fill({ handle: '<handle>' }));
|
||||
}
|
||||
const type = typeof value;
|
||||
if (type !== 'object')
|
||||
if (type !== 'object' || value === null)
|
||||
return { title: String(value), type };
|
||||
if (value.guid)
|
||||
return { title: '<handle>', type: 'handle' };
|
||||
|
||||
@ -145,6 +145,8 @@ test.beforeAll(async function recordTrace({ browser, browserName, browserType, s
|
||||
});
|
||||
}, { a: 'paramA', b: 4 });
|
||||
|
||||
await page.evaluate(() => 1 + 1, null);
|
||||
|
||||
async function doClick() {
|
||||
await page.click('"Click"');
|
||||
}
|
||||
@ -192,6 +194,7 @@ test('should open simple trace viewer', async ({ showTraceViewer }) => {
|
||||
/page.setContent/,
|
||||
/expect.toHaveTextbutton/,
|
||||
/page.evaluate/,
|
||||
/page.evaluate/,
|
||||
/page.click"Click"/,
|
||||
/page.waitForEvent/,
|
||||
/page.waitForEvent/,
|
||||
@ -254,6 +257,20 @@ test('should show params and return value', async ({ showTraceViewer, browserNam
|
||||
]);
|
||||
});
|
||||
|
||||
test('should show null as a param', async ({ showTraceViewer, browserName }) => {
|
||||
const traceViewer = await showTraceViewer([traceFile]);
|
||||
await traceViewer.selectAction('page.evaluate', 1);
|
||||
await expect(traceViewer.callLines).toHaveText([
|
||||
/page.evaluate/,
|
||||
/wall time: [0-9/:,APM ]+/,
|
||||
/duration: [\d]+ms/,
|
||||
'expression: "() => 1 + 1"',
|
||||
'isFunction: true',
|
||||
'arg: null',
|
||||
'value: 2'
|
||||
]);
|
||||
});
|
||||
|
||||
test('should have correct snapshot size', async ({ showTraceViewer }, testInfo) => {
|
||||
const traceViewer = await showTraceViewer([traceFile]);
|
||||
await traceViewer.selectAction('page.setViewport');
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user