actions-setup-node/__tests__/problem-matcher.test.ts
dingshiyuan 66401264b9
Some checks failed
Update configuration files / Update configuration files (push) Has been cancelled
CodeQL analysis / CodeQL analysis (push) Has been cancelled
node
2024-10-19 01:33:55 +08:00

46 lines
1.5 KiB
TypeScript

import tscMatcher from '../.github/tsc.json';
describe('problem matcher tests', () => {
it('tsc: matches TypeScript "pretty" error message', () => {
const [
{
pattern: [{regexp}]
}
] = tscMatcher.problemMatcher;
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}]
}
] = tscMatcher.problemMatcher;
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'."
);
});
});