fix: keep ordering
This commit is contained in:
parent
66347fb5cf
commit
13a391b3e8
|
|
@ -68,7 +68,12 @@ export function useConsoleTabModel(model: modelUtil.MultiTraceModel | undefined,
|
||||||
else
|
else
|
||||||
entries.push({ ...entry, repeat: 1 });
|
entries.push({ ...entry, repeat: 1 });
|
||||||
}
|
}
|
||||||
for (const event of model.events) {
|
const logEvents = [...model.events, ...model.stdio].sort((a, b) => {
|
||||||
|
const aTimestamp = 'time' in a ? a.time : a.timestamp;
|
||||||
|
const bTimestamp = 'time' in b ? b.time : b.timestamp;
|
||||||
|
return aTimestamp - bTimestamp;
|
||||||
|
})
|
||||||
|
for (const event of logEvents) {
|
||||||
if (event.type === 'console') {
|
if (event.type === 'console') {
|
||||||
const body = event.args && event.args.length ? format(event.args) : formatAnsi(event.text);
|
const body = event.args && event.args.length ? format(event.args) : formatAnsi(event.text);
|
||||||
const url = event.location.url;
|
const url = event.location.url;
|
||||||
|
|
@ -94,22 +99,21 @@ export function useConsoleTabModel(model: modelUtil.MultiTraceModel | undefined,
|
||||||
timestamp: event.time,
|
timestamp: event.time,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
if (event.type === 'stderr' || event.type === 'stdout') {
|
||||||
for (const event of model.stdio) {
|
let html = '';
|
||||||
let html = '';
|
if (event.text)
|
||||||
if (event.text)
|
html = ansi2html(event.text.trim()) || '';
|
||||||
html = ansi2html(event.text.trim()) || '';
|
if (event.base64)
|
||||||
if (event.base64)
|
html = ansi2html(atob(event.base64).trim()) || '';
|
||||||
html = ansi2html(atob(event.base64).trim()) || '';
|
|
||||||
|
|
||||||
addEntry({
|
addEntry({
|
||||||
nodeMessage: { html },
|
nodeMessage: { html },
|
||||||
isError: event.type === 'stderr',
|
isError: event.type === 'stderr',
|
||||||
isWarning: false,
|
isWarning: false,
|
||||||
timestamp: event.timestamp,
|
timestamp: event.timestamp,
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
entries.sort((a, b) => a.timestamp - b.timestamp);
|
|
||||||
return { entries };
|
return { entries };
|
||||||
}, [model]);
|
}, [model]);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -120,6 +120,7 @@ test('should collapse repeated console messages for test', async ({ runUITest })
|
||||||
import { test, expect } from '@playwright/test';
|
import { test, expect } from '@playwright/test';
|
||||||
test('print', async ({ page }) => {
|
test('print', async ({ page }) => {
|
||||||
await page.evaluate(() => {
|
await page.evaluate(() => {
|
||||||
|
console.log('page message')
|
||||||
for (let i = 0; i < 10; ++i)
|
for (let i = 0; i < 10; ++i)
|
||||||
console.log('page message')
|
console.log('page message')
|
||||||
});
|
});
|
||||||
|
|
@ -146,6 +147,7 @@ test('should collapse repeated console messages for test', async ({ runUITest })
|
||||||
await expect(page.getByRole('tabpanel', { name: 'Console' })).toMatchAriaSnapshot(`
|
await expect(page.getByRole('tabpanel', { name: 'Console' })).toMatchAriaSnapshot(`
|
||||||
- tabpanel "Console":
|
- tabpanel "Console":
|
||||||
- list:
|
- list:
|
||||||
|
- listitem: /page message/
|
||||||
- listitem: /10 page message/
|
- listitem: /10 page message/
|
||||||
- listitem: /10 node message/
|
- listitem: /10 node message/
|
||||||
- listitem: /10 page message/
|
- listitem: /10 page message/
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue