Skip to content

Commit 238c049

Browse files
committed
feat: add test result UI
1 parent 8e08fdb commit 238c049

File tree

2 files changed

+34
-6
lines changed

2 files changed

+34
-6
lines changed

packages/trace-viewer/src/ui/uiModeView.css

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,17 @@
9191
flex-direction: row;
9292
align-items: center;
9393
height: 30px;
94+
overflow: hidden;
95+
gap: 6px;
96+
}
97+
98+
.status-line > * {
99+
flex-shrink: 0;
94100
}
95101

96102
.status-line > div {
97-
overflow: hidden;
98-
text-overflow: ellipsis;
103+
display: flex;
104+
align-items: center;
99105
}
100106

101107
.ui-mode-sidebar input[type=search] {
@@ -108,3 +114,17 @@
108114
color: var(--vscode-input-foreground);
109115
background-color: var(--vscode-input-background);
110116
}
117+
118+
.status-passed {
119+
color: var(--vscode-debugIcon-restartForeground);
120+
gap: 2px;
121+
}
122+
123+
.status-failed {
124+
color: var(--vscode-list-errorForeground);
125+
gap: 3px;
126+
}
127+
128+
.status-skipped {
129+
gap: 3px;
130+
}

packages/trace-viewer/src/ui/uiModeView.tsx

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import { TestListView } from './uiModeTestListView';
3737
import { TraceView } from './uiModeTraceView';
3838
import { SettingsView } from './settingsView';
3939
import { DefaultSettingsView } from './defaultSettingsView';
40+
import { testStatusIcon } from './testUtils';
4041

4142
let xtermSize = { cols: 80, rows: 24 };
4243
const xtermDataSource: XtermDataSource = {
@@ -461,11 +462,18 @@ export const UIModeView: React.FC<{}> = ({
461462
runTests={() => runTests('bounce-if-busy', visibleTestIds)} />
462463
<Toolbar noMinHeight={true}>
463464
{!isRunningTest && !progress && <div className='section-title'>Tests</div>}
464-
{!isRunningTest && progress && <div data-testid='status-line' className='status-line'>
465-
<div>{progress.passed}/{progress.total} passed ({(progress.passed / progress.total) * 100 | 0}%)</div>
465+
{!isRunningTest && progress && <div data-testid='status-line' className='status-line' title={`${progress.passed} passed, ${progress.failed} failed, ${progress.skipped} skipped`}>
466+
<span data-testid='test-count'>{progress.passed + progress.failed + progress.skipped}/{progress.total}</span>
467+
<div className='status-passed'><span className={clsx('codicon', testStatusIcon('passed'))}/>{progress.passed}</div>
468+
<div className='status-failed'><span className={clsx('codicon', testStatusIcon('failed'))}/>{progress.failed}</div>
469+
<div className='status-skipped'><span className={clsx('codicon', testStatusIcon('skipped'))}/>{progress.skipped}</div>
466470
</div>}
467-
{isRunningTest && progress && <div data-testid='status-line' className='status-line'>
468-
<div>Running {progress.passed}/{runningState.testIds.size} passed ({(progress.passed / runningState.testIds.size) * 100 | 0}%)</div>
471+
{isRunningTest && progress && <div data-testid='status-line' className='status-line' title={`${progress.passed} passed, ${progress.failed} failed, ${progress.skipped} skipped`}>
472+
<span className={clsx('codicon', testStatusIcon('running'))}/>
473+
<span data-testid='test-count'>{progress.passed + progress.failed + progress.skipped}/{runningState.testIds.size}</span>
474+
<div className='status-passed'><span className={clsx('codicon', testStatusIcon('passed'))}/>{progress.passed}</div>
475+
<div className='status-failed'><span className={clsx('codicon', testStatusIcon('failed'))}/>{progress.failed}</div>
476+
<div className='status-skipped'><span className={clsx('codicon', testStatusIcon('skipped'))}/>{progress.skipped}</div>
469477
</div>}
470478
<ToolbarButton icon='play' title='Run all — F5' onClick={() => runTests('bounce-if-busy', visibleTestIds)} disabled={isRunningTest || isLoading}></ToolbarButton>
471479
<ToolbarButton icon='debug-stop' title={'Stop — ' + (isMac ? '⇧F5' : 'Shift + F5')} onClick={() => testServerConnection?.stopTests({})} disabled={!isRunningTest || isLoading}></ToolbarButton>

0 commit comments

Comments
 (0)