2023-03-08 08:47:38 +00:00
|
|
|
import tscMatcher from '../.github/tsc.json';
|
|
|
|
|
2021-02-17 15:52:41 +00:00
|
|
|
describe('problem matcher tests', () => {
|
|
|
|
it('tsc: matches TypeScript "pretty" error message', () => {
|
|
|
|
const [
|
|
|
|
{
|
|
|
|
pattern: [{regexp}]
|
|
|
|
}
|
2023-03-08 08:47:38 +00:00
|
|
|
] = tscMatcher.problemMatcher;
|
2021-02-17 15:52:41 +00:00
|
|
|
const exampleErrorMessage =
|
|
|
|
"lib/index.js:23:42 - error TS2345: Argument of type 'A' is not assignable to parameter of type 'B'.";
|
|
|
|
|
|
|
|
const match = exampleErrorMessage.match(new RegExp(regexp));
|
|
|
|
expect(match).not.toBeNull();
|
|
|
|
expect(match![1]).toEqual('lib/index.js');
|
|
|
|
expect(match![2]).toEqual('23');
|
|
|
|
expect(match![3]).toEqual('42');
|
|
|
|
expect(match![4]).toEqual('error');
|
|
|
|
expect(match![5]).toEqual('2345');
|
|
|
|
expect(match![6]).toEqual(
|
|
|
|
"Argument of type 'A' is not assignable to parameter of type 'B'."
|
|
|
|
);
|
|
|
|
});
|
|
|
|
|
|
|
|
it('tsc: matches TypeScript error message from log file', () => {
|
|
|
|
const [
|
|
|
|
{
|
|
|
|
pattern: [{regexp}]
|
|
|
|
}
|
2023-03-08 08:47:38 +00:00
|
|
|
] = tscMatcher.problemMatcher;
|
2021-02-17 15:52:41 +00:00
|
|
|
const exampleErrorMessage =
|
|
|
|
"lib/index.js(23,42): error TS2345: Argument of type 'A' is not assignable to parameter of type 'B'.";
|
|
|
|
|
|
|
|
const match = exampleErrorMessage.match(new RegExp(regexp));
|
|
|
|
expect(match).not.toBeNull();
|
|
|
|
expect(match![1]).toEqual('lib/index.js');
|
|
|
|
expect(match![2]).toEqual('23');
|
|
|
|
expect(match![3]).toEqual('42');
|
|
|
|
expect(match![4]).toEqual('error');
|
|
|
|
expect(match![5]).toEqual('2345');
|
|
|
|
expect(match![6]).toEqual(
|
|
|
|
"Argument of type 'A' is not assignable to parameter of type 'B'."
|
|
|
|
);
|
|
|
|
});
|
|
|
|
});
|