mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-11 23:40:34 -05:00
Enables the same `no-unexternalized-strings` with have in `vscode` in this repo. This make sure we have a more consistent style across repos and when generating edits
74 lines
2.3 KiB
TypeScript
74 lines
2.3 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
import * as mobxlite from 'mobx-react-lite';
|
|
import * as React from 'react';
|
|
import { EvaluationError } from '../stores/amlResults';
|
|
import { ISimulationTest } from '../stores/simulationTestsProvider';
|
|
import { DiffEditor } from './diffEditor';
|
|
|
|
export const ErrorComparison = mobxlite.observer(
|
|
({ test }: { test: ISimulationTest }) => {
|
|
const errorsOnlyInBefore = test.errorsOnlyInBefore;
|
|
const errorsOnlyInAfter = test.errorsOnlyInAfter;
|
|
if (
|
|
!errorsOnlyInBefore ||
|
|
!errorsOnlyInAfter ||
|
|
!errorsOnlyInBefore.length ||
|
|
!errorsOnlyInAfter.length
|
|
) {
|
|
return null;
|
|
}
|
|
|
|
const [expanded, setExpanded] = React.useState(false);
|
|
|
|
return (
|
|
<div className='error-comparison'>
|
|
{'\n'}
|
|
<div className='title' onClick={() => setExpanded(!expanded)}>
|
|
{expanded ? '▼' : '▶'} Error Comparison
|
|
</div>{' '}
|
|
{!expanded ? null : (
|
|
<div>
|
|
<p>
|
|
<span className='category'>{`- Source: `}</span>
|
|
{errorsOnlyInBefore[0].tool}
|
|
</p>
|
|
<p>
|
|
<span className='category'>{`- Number of errors that appear in the diagnostics strictly only before the change: `}</span>
|
|
{errorsOnlyInBefore.length}
|
|
</p>
|
|
<p>
|
|
<span className='category'>{`- Number of errors that appear in the diagnostics strictly only after the change: `}</span>
|
|
{errorsOnlyInAfter.length}
|
|
</p>
|
|
<span className='category'>{`- Diff of errors before and after : `}</span>
|
|
<DiffEditor
|
|
original={errorText(errorsOnlyInBefore)}
|
|
modified={errorText(errorsOnlyInAfter)}
|
|
languageId='plaintext'
|
|
/>
|
|
</div>
|
|
)}
|
|
</div>
|
|
);
|
|
}
|
|
);
|
|
|
|
function errorText(errors: EvaluationError[]) {
|
|
let errorText = ``;
|
|
for (const error of errors) {
|
|
errorText +=
|
|
[
|
|
`- Start Line : ${error.startLine}`,
|
|
`- Start Column : ${error.startColumn}`,
|
|
`- End line : ${error.endLine}`,
|
|
`- End column : ${error.endColumn}`,
|
|
`- Message : ${error.message}`,
|
|
].join('\n') + '\n\n';
|
|
}
|
|
return errorText;
|
|
}
|