mirror of
https://github.com/microsoft/TypeScript.git
synced 2025-11-18 17:21:48 +00:00
Merge pull request #31480 from andrewbranch/bug/25487
Fix invalid JSXExpressions having identifier-ish things in their trivia, improve error messages for comma expressions in JSX
This commit is contained in:
@@ -583,6 +583,21 @@ namespace FourSlash {
|
||||
});
|
||||
}
|
||||
|
||||
public verifyErrorExistsAtRange(range: Range, code: number, expectedMessage?: string) {
|
||||
const span = ts.createTextSpanFromRange(range);
|
||||
const hasMatchingError = ts.some(
|
||||
this.getDiagnostics(range.fileName),
|
||||
({ code, messageText, start, length }) =>
|
||||
code === code &&
|
||||
(!expectedMessage || expectedMessage === messageText) &&
|
||||
ts.isNumber(start) && ts.isNumber(length) &&
|
||||
ts.textSpansEqual(span, { start, length }));
|
||||
|
||||
if (!hasMatchingError) {
|
||||
this.raiseError(`No error with code ${code} found at provided range.`);
|
||||
}
|
||||
}
|
||||
|
||||
public verifyNumberOfErrorsInCurrentFile(expected: number) {
|
||||
const errors = this.getDiagnostics(this.activeFile.fileName);
|
||||
const actual = errors.length;
|
||||
@@ -4009,6 +4024,10 @@ namespace FourSlashInterface {
|
||||
this.state.verifyNoErrors();
|
||||
}
|
||||
|
||||
public errorExistsAtRange(range: FourSlash.Range, code: number, message?: string) {
|
||||
this.state.verifyErrorExistsAtRange(range, code, message);
|
||||
}
|
||||
|
||||
public numberOfErrorsInCurrentFile(expected: number) {
|
||||
this.state.verifyNumberOfErrorsInCurrentFile(expected);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user